我想plot.m在 Octave 中使用一个简单的代码 ( ) 来绘制图形。我的代码如下:
printf('Plotting Data...\n');
x = -10:0.1:10;
plot(x, sin(x));
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息:
错误:在索引表达式中无效使用脚本 ex1/plot.m 错误:从第 3 行第 1 列的绘图中调用
你能告诉我如何解决吗?谢谢!
我遇到了同样的问题,要解决它
这是我的脚本并将其命名为“xx.m”
syms x;
f = x^3 - 6*x^2 + 11*x - 6;
ezplot(f)
xlabel("x")
ylabel("y")
title ("name")
grid on
Run Code Online (Sandbox Code Playgroud)
我写的八度提示xx或run xx两者都很好用。
在我看来,“无效使用脚本”问题的原因是
简短回答:更改脚本文件的名称。
不那么简短的回答
当试图调用一个函数时somefunction(),Octave 首先会somefunction.m 在你当前的目录中寻找一个文件。1
如果它找到一个,那么它将尝试somefunction使用该文件进行调用。如果它没有找到,那么它会在它的内置函数中寻找它(存储在你计算机上的其他地方)。
在您的情况下,您尝试调用该plot()函数。但是,您的脚本本身称为plot.m. 所以 Octave 首先plot.m在您当前的目录中查找...并找到您的脚本!它标识您的plot.m文件是脚本而不是函数。不能使用参数调用脚本(例如x和sin(x)在您的情况下),这就是您收到“索引表达式错误中脚本的无效使用”消息的原因。
因此,解决方案是将文件名更改为plot.m.
1这假设当前作用域中没有名为 的变量somefunction。如果存在,则变量优先。