|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我通过for循环求解一个带有变系数微分方程后,plot出各个方程的曲线,想将各个曲线对应legend打印出来,但是始终无法成功,不知道哪里出了问题,代码如下:! R" e v5 f0 e8 G( v* s' c
c = (4-19.2/2)*pi/180;
/ Q! ~$ X: p, e0 @1 C4 w1 x2 q! x9 SR1 = 38;* D) p" N( t. M
t1 = 5*pi/180;3 T* \ C4 V6 [! ~' `# ~# I
t2 = pi/2;
# y) _' c% z; ^& X) A7 gA=R1.^2 * sin(t1) * tan(t1) * tan(t2/2);
6 o0 k3 S6 L& N, m z
9 N$ w P$ j! ~+ D, r- ~' cS={'aaa'};% 定义一个元胞数组,并随意存储一个字符串! t$ { P7 o7 t" q
for KB = [0, 0.2, 0.4, 0.6, 0.8, 1]0 ?* K- j1 X* p8 Q
a1 = (2*1500*9*0.8*10^6/20)/(1500*9*13888.2*(2*1.313+KB+1)/60);
% x% T, f6 W( p; v& z( [ b1 = 1500/(2*1.313+KB+1);7 {- J* v$ V7 Q* S
y0 = 0.1;6 D- Y" ?2 B2 Q1 ^# ?& d8 }
yp0 = b1*sin(c);
# x8 i, A2 u* {% ] [x,y] = ode15i(@(x,y,yp)yp - a1*(A*x.^2)*sqrt(abs(35-y))*sign(35-y) - b1*sin(c+x) , [0, 19.2*pi/180], y0, yp0);) `$ ]; ?7 e) e, ]' q
h = plot(x,y);% @6 C/ a* U# b6 w" ]. O1 m
kb = sprintf('KB=%.1f',KB);%将KB的转化为字符串存在一个变量中
0 [ e& K' d1 N2 P5 | S(i) = cellstr(kb);%将变量kb存储在S元胞数组中
7 P" @. K( [; d! M& _ hold on
1 B( Q6 m" g/ x" x& {! a" ~, pend
' t( {5 ~. d f& b; ? vlegend(S);: N- a: e! @/ }$ p6 |
grid( y$ }' b$ X, F4 S
# J, c1 `* ]2 G4 C- L( T# R此外,能否在for循环中使每个plot出来的曲线的线型不一样,比如说KB=0时是虚线,KB=1时是实线等等! \' G/ Q% Z, H4 ~+ [
请教大神,非常感谢!
* O3 N- N; R- N* L9 E! N8 t7 C/ H6 S出现的问题如下图
, M" ?& }: `3 X! d v
! I4 T' ?, v- ?& l f: }0 w" N8 B
5 A' {/ Q P& T, B" L& e; P- Z
' ^, `! E; t% a! T- V$ s
|
|