Matlab未定义输出中的变量或函数错误

时间:2016-02-25 22:08:45

标签: arrays matlab undefined

Question

附加图片有我正在处理的问题。以下是我的m文件中的代码和我在命令窗口中获得的输出。 M-File代码:

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

命令窗口代码和输出:

PolyEval(5, [-1, 3.3, 0, -2.2, 5, -1.6], [-1, 1, -1, 1, -1], 1.53)
  

未定义的函数或变量" p"。

     

PolyEval中的错误(第6行)       fprintf('%6.0f%18.8f \ n',p);

关于代码和问题,n是控制两个数组大小的变量,a是由n + 1个变量组成的1-D数组,y是由n个变量组成的1-D数组, x是计算中使用的变量。

我在一张纸上测试了代码算法,它应该返回6.65的值,但在这种情况下它会给我上面的错误。

你们能帮助我理解为什么我会收到错误吗?请查看由我试图编写此matlab代码的问题和等式组成的图像。

1 个答案:

答案 0 :(得分:0)

循环for i = n+1:2是一个从6到2的循环,使用+1的步骤(这是默认值)。只要开始高于结束值,就不会执行循环。你想要for i = n+1:-1:2