作业帮 > 综合 > 作业

【高分】求一个Matlab图形标注问题!

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/01 15:08:36
【高分】求一个Matlab图形标注问题!
我在编写一个绘图函数时,无法正确标注图形,一个坐标系上同时绘制4条曲线,不知为什么后3条的标注总是相同的线形.我也试过用4个plot语句加hold on;还是不行.其Matlab代码如下:
----------------------------------------------------------------
function f=jumpcontrl(uy0,v0,m,T)
%% a=1/2,s=3/2,rho=0.04,b=0.02,alph=0.03,c=0.02,r=1,q=0.02,f=1,k=2,l=0.01,p2=1
%% ,lambda=1,x0=10,
k1=3^(-1/2)/5;
k2=160*3^(1/2)/9;
L0=uy0^(1/2)*v0^(3/2)/0.02^2;
gamma0=(0.02*uy0-v0)/0.04;
A(1)=gamma0/(10-L0);
for i=1:m-1
L(i)=k1*k2*(2*A(i)*log(A(i)/(A(i)+1))+A(i)/(A(i)+1)+1)/0.02;
gamma(i)=(k2-k1)*(0.02-1)*(A(i)*log(A(i)/(A(i)+1))+1);
A(i+1)=gamma(i)/(10-L(i));
end
k3=0.12^(1/2)/2;
t=0:1:T;
v1=k1*1./(A(m)*exp(t.*0.02)+1);
uy1=k2*1./(A(m)*exp(t.*0.02)+1);
v2=k3;
uy2=100*k3/3;
plot(t,v1,'o',t,v2,'-',t,uy1,'x',t,uy2,'.')
legend('VSto','VDet','UySto','UyDet')
xlabel('t')
ylabel('v or uy')
title('v0=1,uy0=10,m=100')
grid
end
--------------------------------------------------------------
1楼的回答我大致上明白了,但问题是那怎样修改,才能使这4条曲线的标注区分成不同呢? 还请高手多指教.
你的v2,uy2是常数,画出来就是这样,plot(t,v2),相当于N条曲线,N是t的长度.这n条曲线都是用'-'画出来的,当然legend里面都显示'-'
你把v2,uy2改成数组就行了
plot(t,v1,'o',t,v2*t./t,'-',t,uy1,'x',t,uy2*t./t,'.')