金融机构高级管理人员:请教matlab画图

来源:百度文库 编辑:神马品牌网 时间:2024/03/29 19:52:00
这是画曲线的程序
clear
v=linspace(0,2*pi.,100);
for k=1:100
A=1;
A1=0.5*A;
W=2*pi.*v;
I=1+A.*cos(W);
I1=1+A1.*cos(W);
V1=(max(I1)-min(I1))/(max(I1)+min(I1));
V=(max(I)-min(I))/(max(I)+min(I));
M(k)=V1/V;
end
plot(v,M);grid;
运行之后出现错误
??? Error using ==> plot
Not enough input arguments.
Error: Missing variable or function.
请问应该怎样解决?
改了也是不行啊...
而且好像v和M的维数都是100吧?
v=linspace(0,2*pi.,100); 这个函数是v的范围从0到2*pi 分成100个点

我按照了你的程序还是有那个语法错误啊...
是不是matlab版本问题?我的是6.5.1
还是我直接复制过去是不行的?

从语法上说,只有第4行是"pi",不是"pi.",改正后,在我的机器上运行,没语法问题,但是画出一条直线,应该不是你想要的结果。循环的k(第三行),没有在循环中起到作用,所以你需要改一下。
clear
v=linspace(0,2*pi,100);
for k=1:100
A=0+k; %A=1 is constant
A1=0.5*A;
W=2*pi.*v;
I=1+A.*cos(W);
I1=1+A1.*cos(W);
V1=(max(I1)-min(I1))/(max(I1)+min(I1));
V=(max(I)-min(I))/(max(I)+min(I));
M(k)=V1/V;
end
plot(v,M);grid;

改了两处,看注解%。没有问题啊,我的也是6.5版的,不过图形是一条直线。

clear
v=linspace(0,2*pi,100); %pi NOT pi.
for k=1:100
A=0+k; %A=1 is constant
A1=0.5*A;
W=2*pi.*v;
I=1+A.*cos(W);
I1=1+A1.*cos(W);
V1=(max(I1)-min(I1))/(max(I1)+min(I1));
V=(max(I)-min(I))/(max(I)+min(I));
M(k)=V1/V;
end
plot(v,M);grid;