|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我通过for循环求解一个带有变系数微分方程后,plot出各个方程的曲线,想将各个曲线对应legend打印出来,但是始终无法成功,不知道哪里出了问题,代码如下:
5 e% e" z, l. lc = (4-19.2/2)*pi/180;+ a9 H2 U5 `7 S7 }2 U
R1 = 38; N' R8 q3 I; r0 e: w7 l* l
t1 = 5*pi/180;
6 l' @6 \+ d jt2 = pi/2;
8 Y5 r/ V. l- v# ?2 m, b( cA=R1.^2 * sin(t1) * tan(t1) * tan(t2/2);* ]& X0 ?' q K: {* y1 J
! L3 {3 t' {- o
S={'aaa'};% 定义一个元胞数组,并随意存储一个字符串
* e9 q% w7 S2 y1 N2 d& |for KB = [0, 0.2, 0.4, 0.6, 0.8, 1]
# e4 ?/ K& e5 ~ a1 = (2*1500*9*0.8*10^6/20)/(1500*9*13888.2*(2*1.313+KB+1)/60);
. Z( T; W1 a% U) h b1 = 1500/(2*1.313+KB+1);. ~; Z& B* {% D! @
y0 = 0.1;1 _; x4 J7 P' \) M9 u' o
yp0 = b1*sin(c);9 G7 m( S* M: ?+ c' w
[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);8 j8 d6 S1 N, v
h = plot(x,y);
# U8 \! r& h' n9 r kb = sprintf('KB=%.1f',KB);%将KB的转化为字符串存在一个变量中
0 M. n6 P+ O: r* v a5 S S(i) = cellstr(kb);%将变量kb存储在S元胞数组中
~0 Z7 I) \! | hold on) f+ t; T5 p0 F' U
end4 C4 h0 j& }2 O# X
legend(S);
1 f8 y. X8 w+ n. Z) X$ Agrid
) i. }9 |, h) m! g. _4 A: W9 P: A# _$ Z/ T% u$ L$ a
此外,能否在for循环中使每个plot出来的曲线的线型不一样,比如说KB=0时是虚线,KB=1时是实线等等
. v4 w' R9 C7 U5 r9 I请教大神,非常感谢!
& z# X8 |1 Q# j3 r# C7 E/ P5 ^! P出现的问题如下图& s; d9 W2 j+ \$ S& s/ {5 m# m
" s) w* [! M1 \- \. T" \4 |, p8 A) G5 }
" c8 N, R2 _3 I% j r F
|
|