matlab里绘制曲线图为什么一直出现y=x这样的直线

x = -0.5:0.01:0.5;
a = 0.8;
c = sqrt(4a.^2-1)/3;
y = -x
sqrt(4a.^2-1)(c-sqrt(4a.^2-1))/c/sqrt(4a.^2-1-x.^2)+x*(1-sqrt(4*a.^2-1)/c);
figure %建立一个幕布
plot(x,y)

不清楚是不是代码有问题,求解答

img

你好,因为x是数组,matlab里面两个数组对应位置相乘相除或者取多少次方,需要用.*./.^表示呢
所以给你更正:

x = -0.5:0.01:0.5;
a = 0.8;
c = sqrt(4*a.^2-1)/3;
y = -x.*sqrt(4*a.^2-1).*(c-sqrt(4*a.^2-1))/c./sqrt(4*a.^2-1-x.^2)+x*(1-sqrt(4*a.^2-1)/c);
figure %建立一个幕布
plot(x,y)

img

有帮助望采纳哟,谢谢啦

这公式算出来就是条直线。。。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632