|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我通过for循环求解一个带有变系数微分方程后,plot出各个方程的曲线,想将各个曲线对应legend打印出来,但是始终无法成功,不知道哪里出了问题,代码如下:% i4 g; d' C4 G0 \( [
c = (4-19.2/2)*pi/180;
5 x! l0 I9 [2 TR1 = 38;
5 n+ L# I6 g/ Q( tt1 = 5*pi/180;9 ?. p! ^7 B" l
t2 = pi/2;
& d6 r2 ? s0 h7 x+ ~A=R1.^2 * sin(t1) * tan(t1) * tan(t2/2);
- U6 G) Y8 U3 `, U9 {: [) t9 r% r# V4 m& _: y
S={'aaa'};% 定义一个元胞数组,并随意存储一个字符串& J0 L* r. L3 ?; r. q
for KB = [0, 0.2, 0.4, 0.6, 0.8, 1]
2 F4 K5 Y9 M: b$ l6 C% c a1 = (2*1500*9*0.8*10^6/20)/(1500*9*13888.2*(2*1.313+KB+1)/60);
3 R) e: T/ h5 j b1 = 1500/(2*1.313+KB+1);
" a+ F# z, S5 L. ?! o, H y0 = 0.1;1 m# d/ v3 {% a* X4 b/ W
yp0 = b1*sin(c);
9 P" W% R7 B4 h/ ~ [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);
' c8 b7 h9 y9 m5 H9 e& [$ N h = plot(x,y);! | T6 |" U- C4 _" F, K9 u
kb = sprintf('KB=%.1f',KB);%将KB的转化为字符串存在一个变量中3 r, a7 C$ G) U5 p+ @4 {
S(i) = cellstr(kb);%将变量kb存储在S元胞数组中6 L$ w2 x6 ], l2 ?8 {$ v. O
hold on
. S7 {/ @0 V0 I- C2 z, i; o# zend
4 E+ e7 S$ V4 U8 ~legend(S);
9 c9 i% C) x2 `6 i6 z$ I) Q& Pgrid, N' P. y& d; i, ]" N
# v# A0 F4 b6 K; V M" ]8 I f
此外,能否在for循环中使每个plot出来的曲线的线型不一样,比如说KB=0时是虚线,KB=1时是实线等等
) [0 R9 }; J5 Q# k, p; j请教大神,非常感谢!
# A) K* q' {5 K出现的问题如下图+ Q- H) {5 F; k2 Q+ w! O1 A
8 c8 Z5 n- A6 O$ ?# S% Q
" f( M9 S" V% A, I; @
( V8 l$ Q7 j* {9 B5 }/ L5 n |
|