[英]Plotting a function in Matlab
您定义的if
语句采用整个数组的条件,这意味着所有条目都应遵守该语句。 由于只有前21个符合所构成的条件,因此if
语句转到else
并绘制一条直线。
您的第一行方程式不正确,因为x*x
导致错误,因为MATLAB认为这是矩阵乘法,并且大小不正确。 您没有看到此错误的原因是由于if
语句,因为如上所述,它永远不会到达此行。 您应该使用点乘法来更改该方程式,这是按元素方式而不是按数组/矩阵方式进行的。
第二行的方程式正确。
如果您的if/else
陈述正确,那么您的第一个情节将被第二个情节覆盖,因为您未指定对数字的hold on
。
注意,我还使用了分号;
在每个语句之后,以防止其将行的输出打印到控制台。
x1 = [-1:0.01:1].';
x2 = [1:0.01:3].';
y1 = x1.^2-x1+1;
y2 = 2*x2+3;
figure;
hold on
plot(x1,y1)
plot(x2,y2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.