QQ登录

只需要一步,快速开始

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

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

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

1188

主题

4

听众

2931

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-18 12:10 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段MATLAB代码实现了一个包含8个未知数的非线性方程组的求解,并绘制了一个关于参数lambda的图形。9 e3 z& z/ y4 r  R; o: H
主函数:equation()
  1. function equation()
    8 b: t+ y% u5 k
  2. 2 c/ W, M, {1 R  K: A  a  B
  3. global sigma mu T lambda* i1 p0 q# k4 G2 p) O7 U

  4. ) y% |$ }. `( l/ Z$ ~6 a' T8 v- A% R
  5. sigma = 5;   % 定义sigma的值
    * g( m& ~; t% M! H7 h

  6. ! I8 o\" q+ f8 D  M2 ~
  7. mu = 0.4;    % 定义mu的值8 A; z$ c. U( F; A+ {/ N# H( o

  8. \" u4 m  X- z+ t
  9. T = 1.7;     % 定义T的值. l' i9 E6 w/ Q+ Q0 x
  10. / C* y\" U+ K) J7 V; E/ Y4 y
  11. N = 1;, R\" b# {, ^' V( F8 o
  12. $ u7 c2 T) d  C' `8 T
  13. for lambda = 0:0.05:1   % lambda从0到1,隔0.05计算一个点
    * k' }9 T9 ]5 m2 S* F& O

  14. \" s8 k- E* i, [& }+ A; v
  15.     x0 = [0.5000 0.5000 1.1817 1.1817 1.0000 1.0000 0.9354 0.9354] * 1;    % 定义迭代初值
    - y# S* E5 q7 W$ ^% F, x7 S9 Y
  16. + G. Y7 f) p! `% i
  17.     x = fsolve(@myfun, x0);    % 采用fsolve函数解对应lambda下的方程组,结果保存在x里) p  L  X6 P. Q, i! L' ?+ V

  18. 2 g- ~- x6 Q) t) G6 S% |
  19.     value(N) = x(7) - x(8);     % 求出对应lambda下的omega1-omega2的值,保存在value里
    ; c3 o3 g# B6 w. V; r: {$ I

  20. % g0 r0 p/ e1 W. s2 H$ u
  21.     N = N + 1;  U! u$ k: N' a8 p+ p3 ^

  22. * B6 {  U6 ~. Z\" `
  23. end4 S$ c8 |% ~) }: ~4 W9 G

  24. ' m9 \5 _  M5 ?2 Y; h* E
  25. lambda = 0:0.05:1;
    5 Q9 s( v8 T7 x0 F9 ^; W
  26. ( M9 x( V% ?' o% n- I$ D
  27. plot(lambda, value)   % 绘图
    5 b% c- r/ M8 Q3 s' _7 p
  28. ! O: z+ `8 S0 l% b\" N, @9 z
  29. title(['T=', num2str(T)])   % 给出图的标题- z! P* I7 |, A$ m
  30. * ]7 ]+ }0 ^4 w0 Y. Z. ?3 `' U
  31. end
复制代码
子函数:myfun(x)
  1. function F = myfun(x)7 D) i9 e. `2 F8 F# {2 M* a

  2. ' L2 @6 `2 G8 B
  3. global sigma mu T lambda
    8 x8 E- ]8 {  l) o' u

  4. ' z& y$ `5 H! U7 g# X. _
  5. %x(1)~x(8)分别对应8个未知数
    . m( z2 x2 d( L* v7 H7 L4 X

  6. # W3 c; z3 D2 s+ d$ V5 b\" E
  7. Y1 = x(1);   
    1 C3 ]7 K( ]( L! Q1 ?

  8. 4 o: g1 I7 J5 Q) _
  9. Y2 = x(2);/ O  d% I8 r! ?1 i; R# h

  10. % C+ T4 I! E2 ?& f6 k
  11. G1 = x(3);
      D+ h$ c3 A; h6 a5 K! f

  12. 1 t; b) ~) W  ]
  13. G2 = x(4);
    & I! N( X' F) P/ J2 d( F# [4 _
  14. . ~$ J0 U- H0 M' L, @$ n$ c
  15. w1 = x(5);
    * N5 ?# G+ X% [9 l% I$ `

  16. 7 f8 a- j# o! e1 A. N
  17. w2 = x(6);2 `  T: ?8 C7 O+ I* `

  18. 3 v4 N( B7 r# i5 i$ b
  19. omega1 = x(7);
    , k% Q: |# h0 E% k$ i1 O3 @

  20. 1 w2 v& D: F9 v0 E
  21. omega2 = x(8);
      m\" l& J\" z1 s\" j# L0 D$ H! u( R

  22. ' E' ?+ L5 J8 g/ e\" m8 ^
  23. %定义8个方程/ \/ c) w) b3 e- _  B$ k$ P
  24. : X8 f. K8 H; J
  25. eq1 = Y1 - mu * lambda * w1 - (1 - mu) / 2;
    ) U. p7 Y8 r0 q& K; l  R* |\" {( J

  26. \" g) A1 a3 @, ^. k9 D9 G
  27. eq2 = Y2 - mu * (1 - lambda) * w2 - (1 - mu) / 2;* P* H8 D9 y0 }2 S6 B& W
  28. / W% K& y* M% h; f& T  e
  29. eq3 = G1 - (lambda * w1^(1 - sigma) + (1 - lambda) * (w2 * T)^(1 - sigma))^(1 / (1 - sigma));
    ' w\" O* }% z$ ]+ E

  30. ) o, Z$ ?; I$ B! @) I) {+ y4 T
  31. eq4 = G2 - (lambda * (w1 * T)^(1 - sigma) + (1 - lambda) * w2^(1 - sigma))^(1 / (1 - sigma));
    , V7 h- g+ |  ]. p0 l3 ?9 G% N4 h
  32. . m2 W8 k! J, T/ j
  33. eq5 = w1 - (Y1 * G1^(sigma - 1) + Y2 * (G2^(sigma - 1)) * T^(1 - sigma))^(1 / sigma);
    4 s2 Y# w) {8 C
  34. 2 j- Z+ j5 i% O6 X
  35. eq6 = w2 - (Y1 * (G1^(sigma - 1)) * T^(1 - sigma) + Y2 * G2^(sigma - 1))^(1 / sigma);$ w0 g8 U- A9 n( m
  36. 8 y. s- h, Q. r: w0 r) u) @
  37. eq7 = omega1 - w1 * G1^(-mu);) }$ M/ H5 G  q2 i
  38. ! ]# y\" Z, Z# y! `\" I- F
  39. eq8 = omega2 - w2 * G2^(-mu);
    * c  O! p* S& G# X$ _1 w

  40. 2 ]; W2 }- c; Y  v  j
  41. %返回方程组
    \" |1 b3 ?8 L. }$ d- L) v! {+ F

  42. ) \# T) b7 }- x
  43. F = [eq1; eq2; eq3; eq4; eq5; eq6; eq7; eq8];
    4 U! Z. m  l& ~\" h0 l- r

  44. - j: ^( d# Q\" H/ T1 x
  45. end
    3 M! I) p. H( K6 _
  46. ' G1 b- f9 P0 u7 h\" V1 B+ n
复制代码
这个代码通过fsolve函数求解非线性方程组,其中lambda在一定范围内变化。结果被用于计算omega1 - omega2的值,并将这些值随lambda的变化进行绘图。
# H/ o9 p/ O- F! O. J& W* ^: v( |' U" G  S
结果图片如下:
, b: Q+ w4 H, x4 B+ s VeryCapture_20231118115514.jpg $ A4 |7 w5 F; d9 s9 D( u- F

4 P, V, a2 W0 R* g- F4 O6 g
) z0 q) \1 x. y8 T2 j8 E8 c6 D
* s- Q. E1 ]8 _, Y

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-5-26 05:13 , Processed in 0.377141 second(s), 55 queries .

回顶部