QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3058|回复: 0
打印 上一主题 下一主题

matlab实现 8个未知数的非线性方程组的求解

[复制链接]
字体大小: 正常 放大

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-18 12:10 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段MATLAB代码实现了一个包含8个未知数的非线性方程组的求解,并绘制了一个关于参数lambda的图形。; g5 n* a2 ]" ?  c2 B! d1 F
主函数:equation()
  1. function equation()
    / J& f, G* n! {9 o

  2. 5 O: ?! ^& b4 Y. K: V
  3. global sigma mu T lambda
    * b' u, s* F: Y. G) r. @5 o

  4. ( m0 u. ?* h: N  ~$ H  |* H& y
  5. sigma = 5;   % 定义sigma的值  H3 h- [5 h8 p\" r/ L# P4 E  k
  6. $ j2 R& C- v0 f9 U; X9 c5 U, q
  7. mu = 0.4;    % 定义mu的值
    ) P; L# a7 W; H: n. @1 i

  8. * [( }6 |) [8 h0 b+ i
  9. T = 1.7;     % 定义T的值  I2 V\" {& W% z% Y, F/ ?/ F+ u& }$ O

  10. ) y$ C. S6 X3 c, {
  11. N = 1;
    0 S1 ?. _9 a1 K$ o: L0 ]! A

  12. 3 [9 T6 m) Z- z7 g, n4 |
  13. for lambda = 0:0.05:1   % lambda从0到1,隔0.05计算一个点
    , s: h# ~8 c# j2 Y5 ^0 X/ h

  14. ) ]; Q5 S/ K- ]9 Q9 n7 A% w
  15.     x0 = [0.5000 0.5000 1.1817 1.1817 1.0000 1.0000 0.9354 0.9354] * 1;    % 定义迭代初值
    8 j% P! ^$ p7 p& h7 ]
  16. 7 \6 U8 g: S9 L0 {
  17.     x = fsolve(@myfun, x0);    % 采用fsolve函数解对应lambda下的方程组,结果保存在x里
    & V! R$ g/ O5 m2 i$ ]

  18. ( J% q; h' V- i% @8 [1 W
  19.     value(N) = x(7) - x(8);     % 求出对应lambda下的omega1-omega2的值,保存在value里4 H. a: u/ T& A0 x! N% C

  20. % Q1 m6 |1 n' }' h9 o  I
  21.     N = N + 1;7 A3 K$ o9 j/ s
  22. 8 o, e/ t6 X0 P( x- B: f$ h7 O5 x  U\" \$ Z
  23. end8 @4 T$ a* I2 d
  24. . E4 Y  g4 W7 l4 P% v
  25. lambda = 0:0.05:1;. W6 r% U1 l! X5 B( V/ u+ M
  26.   p# X$ z: J( C' t2 S6 n
  27. plot(lambda, value)   % 绘图6 W* z. z- X2 A* m
  28. 0 v2 Q% @1 q2 @
  29. title(['T=', num2str(T)])   % 给出图的标题- \4 k  R0 j. P+ b
  30. \" P% _: L  U7 }' l' A3 \# g- O
  31. end
复制代码
子函数:myfun(x)
  1. function F = myfun(x)
    $ A/ c) R6 H8 {. f

  2. ' X8 J* ^. ~8 X; C: S! I6 [/ [
  3. global sigma mu T lambda
    0 o4 h* t/ _) d3 }; T

  4. 5 Y/ h+ ?2 i/ z* s, Y, l; F  W
  5. %x(1)~x(8)分别对应8个未知数
    # J\" u0 z$ ]! C9 U  E% _
  6. 9 L$ V) h, o( S9 F' S: j% q
  7. Y1 = x(1);   
    # Y( Q# s) i  [2 V8 ^) L

  8. 5 j2 |5 i1 R8 L- f\" m1 c
  9. Y2 = x(2);$ L5 L' L; O6 f) Q$ r6 B% T
  10. ) ]9 s1 `4 p3 b
  11. G1 = x(3);
    + ]1 p; u; d\" n6 I; V( i! p* g

  12. & n6 a7 n4 k4 g0 N( Z
  13. G2 = x(4);& i; ?# g  m% E/ F, m
  14. * I' I4 W: y& h! j3 D' o
  15. w1 = x(5);! C2 O$ W: S, {8 a1 x

  16. * X) k- w$ v( a: ~0 N
  17. w2 = x(6);
      b6 x, G. \+ |0 s0 g
  18. + n2 \6 v7 b. o9 i9 Z: `$ Z: ?
  19. omega1 = x(7);
    ! ?  B! K; I, X) {! @% {4 }
  20. % b* w0 ^+ |7 `# z3 K7 D0 D
  21. omega2 = x(8);
    4 A- t/ p% ^$ K( V

  22. 1 x( G& j& @$ H% }: U6 ?
  23. %定义8个方程
    ( y- h1 F5 s6 F$ ^
  24. + ^2 p6 M( D' a: ]
  25. eq1 = Y1 - mu * lambda * w1 - (1 - mu) / 2;/ b! u: Y2 ?& \4 S& x
  26. * f, w\" C3 S, P/ j7 I9 y5 h
  27. eq2 = Y2 - mu * (1 - lambda) * w2 - (1 - mu) / 2;- E$ M, Q( z\" r2 e' e! O
  28. ; d( c  y0 f( p5 Q3 v\" N
  29. eq3 = G1 - (lambda * w1^(1 - sigma) + (1 - lambda) * (w2 * T)^(1 - sigma))^(1 / (1 - sigma));
    * ]) S6 {, K\" ]& X9 x  f2 v

  30. + b! S, g) R) j- X: N8 A! ]
  31. eq4 = G2 - (lambda * (w1 * T)^(1 - sigma) + (1 - lambda) * w2^(1 - sigma))^(1 / (1 - sigma));1 t2 Q7 m2 T- v8 G/ {  h, I: o
  32. 3 E% C% N6 A2 P\" ]1 x
  33. eq5 = w1 - (Y1 * G1^(sigma - 1) + Y2 * (G2^(sigma - 1)) * T^(1 - sigma))^(1 / sigma);# r+ H9 ^& |9 r% w
  34. : K7 H\" F! ~\" c! r& h/ ?% a
  35. eq6 = w2 - (Y1 * (G1^(sigma - 1)) * T^(1 - sigma) + Y2 * G2^(sigma - 1))^(1 / sigma);
    5 u# a# c2 h! C8 \8 G' d5 u
  36. * R- T& T4 |; R& ~' S2 R3 ?
  37. eq7 = omega1 - w1 * G1^(-mu);; b: l3 O0 P3 p\" Y4 O5 X
  38. 2 u- L* G7 {/ [& U* G
  39. eq8 = omega2 - w2 * G2^(-mu);
    % u) R1 G2 a  @0 L( O' A
  40. + M9 \) ]) m7 w6 \6 w5 u( M6 t5 @$ @
  41. %返回方程组
    3 y) ?& G9 h+ {4 |/ T4 g9 y

  42. 0 t% Y8 Y& F3 {1 ~
  43. F = [eq1; eq2; eq3; eq4; eq5; eq6; eq7; eq8];# ?8 E. W4 _+ L! R% L

  44. 5 j$ V+ P6 b: B\" P# q& M
  45. end* Y; |* {  X+ X
  46. - m; Z1 a9 s. y. X
复制代码
这个代码通过fsolve函数求解非线性方程组,其中lambda在一定范围内变化。结果被用于计算omega1 - omega2的值,并将这些值随lambda的变化进行绘图。3 R6 [. s3 |7 v
0 K3 C' _  ]$ v" E
结果图片如下:
8 ~; M1 E2 X' r1 [) | VeryCapture_20231118115514.jpg
- b9 A& b$ y/ p, r7 @  e& r. l7 e2 V! V5 D; m! w0 C8 V. M

. F1 [3 Q9 O# s! L; G7 O; \& d! I
, X) k! [* O0 n9 c' X  l8 |/ u

MATLAB求解非线性方程组 fsolve源程序代码.rar

872 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

售价: 2 点体力  [记录]  [购买]

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-8-26 07:31 , Processed in 0.474150 second(s), 55 queries .

回顶部