程序如下:
r=0:0.1:10
a={0.05,0.1,0.15,0.25,0.5}
c={'r','g','b','y','c'}
for i=1:5
plot(r,((1+(2*a[i]*r).^2)/((1-r.^2).^2+(2*a[i]*r).^2)),c[i])
hold on
end
运行时出现下面错误:
plot(r,((1+(2*a[i]*r).^2)/((1-r.^2).^2+(2*a[i]*r).^2)),c[i]) |
Error: Unbalanced or misused parentheses or brackets.
是什么原因,怎么改正,新手求教
楼主,你好。你的问题多是括号问题
r=0:0.1:10;%建议不必要输出时,在行末尾加分号;
a=[0.05,0.1,0.15,0.25,0.5];%这里是中括号,大括号则表示cell类型,中括号表示向量。
c=['r','g','b','y','c'];%这里是中括号
for i=1:5
plot(r,((1+(2*a(i)*r).^2)/((1-r.^2).^2+(2*a(i)*r).^2)),c(i));%这里需要调用数组中值时,用小括号。
hold on
end
图形结果如下:
(注:我添加了命令:ylim(0 0.002),以使更加美观)
希望对楼主有帮助,希望楼主采纳,欢迎交流。
追问理论图形应该是五条曲线啊?为什么会是直线呢?
我的方程,(1+(2*a[i]*r).^2)/((1-r.^2).^2+(2*a[i]*r).^2)是不是有问题啊?它的值随r的变化不应该是变化的吗?
好的,欢迎交流。