QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-18 12:10 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段MATLAB代码实现了一个包含8个未知数的非线性方程组的求解,并绘制了一个关于参数lambda的图形。" N6 o9 o" g2 y( t: a6 p8 Z
主函数:equation()
  1. function equation()\" K3 }! c\" m' H# u8 \7 v( R2 X
  2.   U8 p$ N, u/ s  \3 D9 T9 E
  3. global sigma mu T lambda
    \" t: V; X3 r% V$ j! a
  4. : D3 L( R1 @* h& N8 a\" Y5 G
  5. sigma = 5;   % 定义sigma的值  G/ E  }, `% }. M

  6. % H- \, I2 M# s! v; n7 s; m
  7. mu = 0.4;    % 定义mu的值  u# B9 l# U: V7 s

  8. 9 Q5 Q- I, Z( Y7 U
  9. T = 1.7;     % 定义T的值
    ) P7 c2 g! A0 \! f# l
  10. 6 ]# N1 B, f; k! i1 e
  11. N = 1;
    ) O, ~2 M6 n) ^
  12. 1 t% G* _* K  p& ?9 g# F4 a
  13. for lambda = 0:0.05:1   % lambda从0到1,隔0.05计算一个点
    ' W) A1 J, x- o- |2 a
  14. 8 `9 m, n  q* h! r: p
  15.     x0 = [0.5000 0.5000 1.1817 1.1817 1.0000 1.0000 0.9354 0.9354] * 1;    % 定义迭代初值+ \( C6 `; D  ?' G4 C3 A

  16. \" @: y( X1 h4 [6 ^9 Y/ @  J- H+ [
  17.     x = fsolve(@myfun, x0);    % 采用fsolve函数解对应lambda下的方程组,结果保存在x里. [6 x- A9 \, m# ~6 ]3 V2 o0 z
  18. % B# }. R$ n8 {: M
  19.     value(N) = x(7) - x(8);     % 求出对应lambda下的omega1-omega2的值,保存在value里6 z: I* Q1 d) B7 M0 k( r
  20. 4 W' y9 b' i% q. v6 Q
  21.     N = N + 1;
    & D+ T7 r8 {' x) a! u4 T
  22. ) l% a/ F4 G% s$ O5 ]' w# @$ ^
  23. end
    \" c3 R! G& x' W' I% F\" @/ `! x
  24. * x4 g& n8 K; N. Y2 v9 ~
  25. lambda = 0:0.05:1;
    # E8 z7 Y6 E1 r\" c, ?( R

  26. - n& V: X& g3 t0 V# S
  27. plot(lambda, value)   % 绘图
    - ^! q' K; X8 t9 f: D
  28. \" p% S4 q\" v\" N3 r8 \5 P
  29. title(['T=', num2str(T)])   % 给出图的标题
    4 Z+ `9 ~% X& M0 ]# W, B
  30. 7 b+ U6 j4 d5 y! ^  _6 L6 Q9 {
  31. end
复制代码
子函数:myfun(x)
  1. function F = myfun(x)$ k\" z& V& w, r* u

  2. , h\" P' g, t- q! n4 o
  3. global sigma mu T lambda
    4 J0 [7 \7 f, d/ Q: K

  4. * ]$ S) `\" R) [2 G- d% E
  5. %x(1)~x(8)分别对应8个未知数
    3 @% u5 x- L; i0 F* [
  6. ) i$ Y/ M& C3 v! p4 ]
  7. Y1 = x(1);   
    9 f5 L: B7 ~/ K4 h

  8. 8 M- a3 l7 z: z# Q9 H5 G$ c
  9. Y2 = x(2);
    ; z, u2 Y3 G# P4 c, ~

  10. ) z( G' F; v) R+ e
  11. G1 = x(3);
    ) B/ H1 C7 _7 c\" X3 y/ Y% a

  12. ) c8 L, D8 Z: ?
  13. G2 = x(4);
    ' G* v9 a2 N% ~! _\" G* }
  14. 8 T# ]+ D: x; t& C3 }: y, l! n
  15. w1 = x(5);
    9 R, L/ R: q& M0 h7 ?! l
  16. ! W% q\" U4 W4 Q\" _* I8 S, s\" c
  17. w2 = x(6);7 r+ i9 i6 \+ x\" z; v

  18. \" v: @, d4 l9 b& [
  19. omega1 = x(7);+ z( w. Z6 N. n) D: i
  20. % e$ a* M6 q+ I
  21. omega2 = x(8);; v$ @* P/ U5 z$ V
  22. ! O& ~9 v, s8 z( f4 p. D
  23. %定义8个方程
    : A: z/ ~2 S8 M, x4 J) [% S

  24. ! n3 u* h2 L' P
  25. eq1 = Y1 - mu * lambda * w1 - (1 - mu) / 2;( V: A! v% k4 H8 O% Z, D6 h% H
  26. 3 i$ a% H/ t8 S3 T) W3 M8 ~$ ~
  27. eq2 = Y2 - mu * (1 - lambda) * w2 - (1 - mu) / 2;* V# H+ J7 D( R

  28. $ D- @# F1 A, K* j+ g) G9 w
  29. eq3 = G1 - (lambda * w1^(1 - sigma) + (1 - lambda) * (w2 * T)^(1 - sigma))^(1 / (1 - sigma));' [( @* k3 Q6 F! w( g/ f7 t: K- h
  30. & s! S/ o. ?* [; s. t' w. U
  31. eq4 = G2 - (lambda * (w1 * T)^(1 - sigma) + (1 - lambda) * w2^(1 - sigma))^(1 / (1 - sigma));
    3 |% h\" @8 t6 p7 f$ m* I0 f# `

  32. ; U- ~, [7 N% N8 I# M% \
  33. eq5 = w1 - (Y1 * G1^(sigma - 1) + Y2 * (G2^(sigma - 1)) * T^(1 - sigma))^(1 / sigma);& T+ P9 b7 _; S0 b+ Z. q6 Z) F
  34. - Z: f8 z5 k0 Y- d' j1 K, [
  35. eq6 = w2 - (Y1 * (G1^(sigma - 1)) * T^(1 - sigma) + Y2 * G2^(sigma - 1))^(1 / sigma);
    7 `- p' \5 M9 B8 C- i( O
  36. ) }( B% w  E7 U, l+ g
  37. eq7 = omega1 - w1 * G1^(-mu);7 m4 i; ~% D, Q* H8 @0 T
  38. * b: _/ E2 m4 G( W% ^
  39. eq8 = omega2 - w2 * G2^(-mu);
    9 _2 K3 n* A5 W. Z2 r
  40. ( w  a  s# f7 ]# X6 {8 z5 A/ s
  41. %返回方程组; L5 M$ h( Q; M3 F
  42. 6 o6 Q9 \8 S& C+ L1 p
  43. F = [eq1; eq2; eq3; eq4; eq5; eq6; eq7; eq8];
    ; v9 x  w0 Y, R; a& E2 N
  44. ; U. d7 p9 Z( W
  45. end2 C; l2 G0 @, u8 u% |- `
  46. ( r& s/ S. o. H3 Z, S2 A) d
复制代码
这个代码通过fsolve函数求解非线性方程组,其中lambda在一定范围内变化。结果被用于计算omega1 - omega2的值,并将这些值随lambda的变化进行绘图。2 |. ~( q) K9 B5 Y/ z, ^+ F4 n

9 g0 f0 G4 _- ], x! q结果图片如下:
, s  W% K  W! M2 e, r+ X3 x1 X VeryCapture_20231118115514.jpg
& Q! ~9 p" n- l0 z; P* v; \& s" g5 _1 o

# ?/ N, E7 `' |, `8 i( d" E9 b: H" j( T1 p2 p) Z

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-6-20 19:24 , Processed in 0.621389 second(s), 54 queries .

回顶部