Matlab undefined variable or function 错误输出
Matlab undefined variable or function error in the output
附件中有我正在处理的问题。以下是我的 m 文件中的代码和我在命令 window 中获得的输出。
M 文件代码:
function p = PolyEval (n, a, y, x)
for i = n+1:2
p = a(i - 1) + (x + y(i - 1))*a(i);
a(i-1) = p;
end
fprintf('%6.0f %18.8f \n', p);
end
命令Window代码和输出:
PolyEval(5, [-1, 3.3, 0, -2.2, 5, -1.6], [-1, 1, -1, 1, -1], 1.53)
Undefined function or variable "p".
Error in PolyEval (line 6)
fprintf('%6.0f %18.8f \n', p);
关于代码和问题,n是控制两个数组大小的变量,a是n+1个变量组成的一维数组,y是n个变量组成的一维数组, x 是计算中使用的变量。
我在一张纸上测试了代码算法,它应该 return 的值为 6.65,但在这种情况下它给了我上述错误。
你们能帮我理解为什么我会收到错误吗?请看一下包含我正在尝试编写此 matlab 代码的问题和方程式的图像。
循环 for i = n+1:2
是从 6 到 2 的循环,步长为 +1(默认)。每当开始值高于结束值时,根本不执行循环。你想要 for i = n+1:-1:2
.
附件中有我正在处理的问题。以下是我的 m 文件中的代码和我在命令 window 中获得的输出。 M 文件代码:
function p = PolyEval (n, a, y, x)
for i = n+1:2
p = a(i - 1) + (x + y(i - 1))*a(i);
a(i-1) = p;
end
fprintf('%6.0f %18.8f \n', p);
end
命令Window代码和输出:
PolyEval(5, [-1, 3.3, 0, -2.2, 5, -1.6], [-1, 1, -1, 1, -1], 1.53)
Undefined function or variable "p".
Error in PolyEval (line 6) fprintf('%6.0f %18.8f \n', p);
关于代码和问题,n是控制两个数组大小的变量,a是n+1个变量组成的一维数组,y是n个变量组成的一维数组, x 是计算中使用的变量。
我在一张纸上测试了代码算法,它应该 return 的值为 6.65,但在这种情况下它给了我上述错误。
你们能帮我理解为什么我会收到错误吗?请看一下包含我正在尝试编写此 matlab 代码的问题和方程式的图像。
循环 for i = n+1:2
是从 6 到 2 的循环,步长为 +1(默认)。每当开始值高于结束值时,根本不执行循环。你想要 for i = n+1:-1:2
.