function SS(A,b,x)
sum = A*x+b;
xaxis=linspace(-10,10);
ylabel('y')
xlabel('x')
subplot(1,2,1)
plot(xaxis,sum)
axis([0 1 0 1])
subplot(1,2,2)
plot(xaxis,x)
我收到错误:
使用绘图矢量时出错必须具有相同的长度。
SS中的错误(第12行)
积(x-轴,总和)
我给A矩阵一个2x2和矢量b& x随机2x1向量。我看,它的长度相同。
答案 0 :(得分:0)
错误位于plot()
,而不是输入参数中。如果是的话,Matlab会抛出以下行的错误
sum = A*x+b;
而不是plot()
行
plot()
帮助页面显示,如果您执行plot(x,y)
,则x
和y
必须具有相同的长度,这就是错误原因。如果你没有在linespace()
中指定任何第三个参数,它将在你已经提供的两个参数(即上限和下限)之间给出100个均匀间隔的点。确实xaxis
的大小为1x100,而变量sum
的大小为2x1。
现在值得注意的是:
sum
是不好的做法,因为sum()
是Matlab中的内置函数。任何其他内置功能也是如此。答案 1 :(得分:-1)
变量xaxis是2x100数组,而不是2x1数组。
(见http://uk.mathworks.com/help/matlab/ref/linspace.html)
您可以使用函数length()或size()来计算数组的大小。在绘图时,我们使用1对1映射,即x中的每个值在y中具有对应的值。