等号右侧的输出数目不足,无法满足赋值要求

1. 问题描述

for i=1:row
   xdata=(1:46);
   ydata=Data(i,:);
   y=polyfit(xdata,ydata,6);
   p1=polyval(y,xq);
   [max,p]=max(p1);
   Dmax=[Dmax,p];
end

在处理数据过程中,自己写的代码如上,运行后会一直报错如下:
等号右侧的输出数目不足,无法满足赋值要求。
出错 Polyfit4PPT_3 (line 23)
[max,p]=max(p1)

2. 解决方法

自己多次尝试无果后,在这里找到了答案MATLAB中文论坛
出现问题的原因是在这一行:[max,p]=max(p1)
因为max是MATLAB中自带的关键字,就不能再把它当做变量给它赋值。

3. 总结

其实出现这个问题是可以避免的,就是在写代码的过程中需要注意变量的命名。
今后在写代码的过程,尽可能自己针对变量的作用对其进行命名,避免和内置的函数重名。

你可能感兴趣的:(matlab)