在matlab里这样输入这个公式为什么画不出图?

x=0:0.01:2;
>> y1=(5*x.^2)/sqrt((6*x.^2-1).^2+(5*x.*(x.^2-1)).^2);
>> plot(x,y1);

因为第二句在/sqrt的“/”前少加了一点“.”,所以输入这个公式就画不出图来了。这主要是,由于x向量参与y表达式运算是以矩阵形式(而不是数组形式)进行运算的,所以y得到的值是x=2时的值。因此,将第二句改为

y1=(5*x.^2)./sqrt((6*x.^2-1).^2+(5*x.*(x.^2-1)).^2);

就行了。

结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-11
把 y1=(5*x.^2)/sqrt…这句的/改成./,画出来的图像是先增后减有一个极值本回答被网友采纳
第2个回答  2015-05-10
计算出来的y只有一个值,所以画出来的是一条直线,/要用./本回答被提问者采纳
相似回答