Scilab:“第一个和第二个输入参数在函数 histplot 的第 53 行必须是实数”

发布于 2024-10-01 02:59:23 字数 112 浏览 5 评论 0原文

为什么这段代码在 Scilab 中失败?

N=1000;
U=rand(N, 1);
X=(9*U - 1)^(1/3);
histplot(200, X);

Why does this piece of code fail in Scilab?

N=1000;
U=rand(N, 1);
X=(9*U - 1)^(1/3);
histplot(200, X);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吃→可爱长大的 2024-10-08 02:59:23

代码很可能会失败,因为 X 不是真实的。如果 U 小于 1/9,就会发生这种情况,这意味着您要取负数的三次方根。

您可以通过检查 X 中的值是否真实来找到有问题的 U 值。

Most likely the code fails because X is not real. This can happen if U is smaller than 1/9, which means that you take the third root of a negative number.

You can find problematic values of U by checking for whether the values in X are real.

自由范儿 2024-10-08 02:59:23

每个元素运算符是否缺少“.”?

X=(9*U - 1).^(1/3);

编辑:
正如 Jonas 指出的那样,Scilab histplot 不会接受复数值作为参数。另一方面,MATLAB 由于缺少“每个元素”运算符而失败。

Is there a '.' per element operator missing?

X=(9*U - 1).^(1/3);

EDIT:
As Jonas points out Scilab histplot won't accept complex values as argument. MATLAB on the other hand fails because of the missing 'per element' operator.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文