|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我通过for循环求解一个带有变系数微分方程后,plot出各个方程的曲线,想将各个曲线对应legend打印出来,但是始终无法成功,不知道哪里出了问题,代码如下:; F$ i- Q: _- A, W. D2 u
c = (4-19.2/2)*pi/180;
, \" S; }$ [; M- K. T$ K' OR1 = 38;
5 x- P9 y9 ^; St1 = 5*pi/180;
# _1 z; ^6 L) ~, ]t2 = pi/2;
. Y T5 m& V2 i+ e" GA=R1.^2 * sin(t1) * tan(t1) * tan(t2/2);
+ f, q) Y {5 c0 P. |! J
! u8 C1 h6 G9 L- m, P; kS={'aaa'};% 定义一个元胞数组,并随意存储一个字符串 }5 a% P0 O8 ~# O+ @7 r6 C
for KB = [0, 0.2, 0.4, 0.6, 0.8, 1]
5 k+ e2 U+ h0 M: ?- k a1 = (2*1500*9*0.8*10^6/20)/(1500*9*13888.2*(2*1.313+KB+1)/60);
" R0 J) h A# P, `& O J b1 = 1500/(2*1.313+KB+1);
8 K) H3 ]* Z0 ? ]: R y0 = 0.1;
6 h3 n& R0 {; Q' K4 ]' e( c yp0 = b1*sin(c);
! O- R" l- V c2 E [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);
2 ^- E R! Z% _% g- o% ? h = plot(x,y);
. M& b% F. m6 `8 r, S( \ kb = sprintf('KB=%.1f',KB);%将KB的转化为字符串存在一个变量中# L+ c) T; h2 J( W8 P( d
S(i) = cellstr(kb);%将变量kb存储在S元胞数组中
& X8 {$ P+ S" B5 M. | hold on& e, o4 Q! ~( w1 V4 P
end3 A. [( @/ T& v* \9 Z1 S+ Q6 g' H
legend(S);
' W0 C0 a% p0 S' h9 J8 `# rgrid
& p/ O h' J/ q6 i* X2 S, g2 w" s, v# w( _& c8 r8 P5 N" J
此外,能否在for循环中使每个plot出来的曲线的线型不一样,比如说KB=0时是虚线,KB=1时是实线等等
4 L8 b. w. P. w9 P8 q- O4 n请教大神,非常感谢!
! T- m ~! t, D6 K3 O. R0 h8 F出现的问题如下图
- r! b3 ]- W( ?- l' s9 \: K
) _' S( [1 h* s0 f) d2 e
5 Q, G* m/ }* a) T% K. c: {
6 [! }5 y8 c; O( w) s$ {; B, w
|
|