QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-18 12:10 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段MATLAB代码实现了一个包含8个未知数的非线性方程组的求解,并绘制了一个关于参数lambda的图形。* S% r, A& p5 b7 R: c
主函数:equation()
  1. function equation()
    7 g. M/ F7 |2 l& ~2 m
  2. 1 f! b) Y4 w9 [$ T; m
  3. global sigma mu T lambda
    5 u. [* s) x- `6 G

  4. 9 q1 a4 z5 x# Q1 ~# f- I4 B
  5. sigma = 5;   % 定义sigma的值0 t* P9 [4 n0 s$ s  w, D2 l% F2 V7 j

  6. ( P( j, }7 t1 E' w
  7. mu = 0.4;    % 定义mu的值% e* a8 y/ D' M6 l$ h% X

  8. * I3 j/ @6 e$ H
  9. T = 1.7;     % 定义T的值% {7 G. c1 e, F9 A9 z2 D3 I; ?
  10. & p3 P) f5 b: A
  11. N = 1;
    2 v# [+ E( ]; s9 B# D7 R

  12. 7 i; O; L. b1 y7 _6 h$ {0 U; J
  13. for lambda = 0:0.05:1   % lambda从0到1,隔0.05计算一个点5 |1 I; M  R3 k' f
  14. * D, w' N' S+ J
  15.     x0 = [0.5000 0.5000 1.1817 1.1817 1.0000 1.0000 0.9354 0.9354] * 1;    % 定义迭代初值5 _0 e  M* J% L% ~3 f% M

  16. ( V* {6 }* U# B% |' W7 R% {
  17.     x = fsolve(@myfun, x0);    % 采用fsolve函数解对应lambda下的方程组,结果保存在x里1 T2 Y, P, u9 T# j\" F% K7 j
  18. & Q) Z) \/ c8 J* j; s+ y& f
  19.     value(N) = x(7) - x(8);     % 求出对应lambda下的omega1-omega2的值,保存在value里% G3 Z5 C; W9 X2 b; T0 L\" n& V
  20. - m, |) |7 J; R2 E; f5 X, b
  21.     N = N + 1;
    7 j$ m. w; x$ g& m, U# e8 R! a

  22. + `' g$ J, z( a\" `% h& [. b
  23. end3 o7 O2 g! \5 K  Q: u2 O\" B
  24. 6 o4 z- z& B# z2 W$ ~8 x/ ?
  25. lambda = 0:0.05:1;: y) x/ E9 Z% I1 t2 {! c1 r
  26. & F8 Z8 k- r. r% R+ @% o
  27. plot(lambda, value)   % 绘图
    , K, i; v7 P4 J1 ]( z3 W- z

  28. : u5 ?$ i; \; h4 Z- E
  29. title(['T=', num2str(T)])   % 给出图的标题1 X0 K- x0 _% N\" F9 }7 V, w7 D
  30. : h3 F5 S, e4 M/ _$ |# [
  31. end
复制代码
子函数:myfun(x)
  1. function F = myfun(x)
    7 W3 I1 q8 \* o$ n, T, o, k

  2.   d, ]9 w; O  O4 `- ?1 Z3 i( O
  3. global sigma mu T lambda
    ! k$ s  i0 F$ W  ?! K5 [\" o7 O
  4. 6 X3 P! C4 V4 R8 {
  5. %x(1)~x(8)分别对应8个未知数) O5 {- E  }0 U$ i& y

  6. ; b% `( _/ g9 |- t- O
  7. Y1 = x(1);    , u9 U+ |0 U' X: T# r5 U8 \

  8. + o$ m4 q4 k( [) k4 F
  9. Y2 = x(2);
    $ B2 o; Z0 T\" e, Z( {

  10. $ z: @8 T7 P8 o4 Z4 t
  11. G1 = x(3);- @$ D$ s3 [! R0 O9 r; P! p8 C6 ^
  12. ; o5 L; \- ~6 C/ v\" u\" K: T
  13. G2 = x(4);
    & i# |' j8 e4 Z- x8 I
  14. 6 b& ~7 Z9 u( p* r$ ~9 G
  15. w1 = x(5);
    $ m0 ~  [: @8 S6 s: Z. a/ ~

  16. : Z) \( t7 D7 _
  17. w2 = x(6);\" u$ ^3 e. E\" F

  18. / [; Z- |) M  I: ]2 R2 F5 R
  19. omega1 = x(7);& i\" ~; B* i, ]/ W) l

  20. ' o& X! f% {4 d$ l
  21. omega2 = x(8);
    - ^- U5 c) S1 @& L
  22. * j2 y6 n2 c. l! b6 ^( i- m1 e
  23. %定义8个方程2 G2 F; z9 ^  y; y# l/ Y

  24. ! u* A: m- r\" ?/ f
  25. eq1 = Y1 - mu * lambda * w1 - (1 - mu) / 2;6 \4 q' H$ @- `* o  y
  26. + R: D- O- |# k; |8 u
  27. eq2 = Y2 - mu * (1 - lambda) * w2 - (1 - mu) / 2;- B- R) e: B; d/ a- u

  28. 5 q! E7 v; X! g0 p& k$ l
  29. eq3 = G1 - (lambda * w1^(1 - sigma) + (1 - lambda) * (w2 * T)^(1 - sigma))^(1 / (1 - sigma));
    6 ^- V# R1 C9 r( x/ `, H# v
  30. # i; q/ v% V6 n. W8 n) @1 n\" `* F
  31. eq4 = G2 - (lambda * (w1 * T)^(1 - sigma) + (1 - lambda) * w2^(1 - sigma))^(1 / (1 - sigma));
    3 Z; h+ L  V0 [( W/ y
  32. ; j, h; W- O7 Q9 O. G9 V
  33. eq5 = w1 - (Y1 * G1^(sigma - 1) + Y2 * (G2^(sigma - 1)) * T^(1 - sigma))^(1 / sigma);
    8 I4 I! g  m- S( \

  34. 3 M* s8 ?+ q# @! v* n
  35. eq6 = w2 - (Y1 * (G1^(sigma - 1)) * T^(1 - sigma) + Y2 * G2^(sigma - 1))^(1 / sigma);
    + ]  i3 a# N( C( e
  36. . G: A/ m- |) y' J) `3 g
  37. eq7 = omega1 - w1 * G1^(-mu);
    . g8 O2 P3 W& q+ N, |& W

  38. / F- L8 R+ j; H7 b4 |( n4 x% x/ Z
  39. eq8 = omega2 - w2 * G2^(-mu);
    8 ~$ F5 a5 L% |/ ?  `
  40. $ g6 t/ U7 p* c- h) O
  41. %返回方程组
    7 i% U- X: |/ @7 k7 e  l% I

  42. ' W- o* w, ~$ u2 ?6 o8 i
  43. F = [eq1; eq2; eq3; eq4; eq5; eq6; eq7; eq8];7 `( ?( A. Q# `% Z
  44. 1 x; Y4 W% p- \. R
  45. end0 N8 O; }/ w\" |$ c+ k9 E3 s
  46. ; a& L. L( c! L2 |7 B
复制代码
这个代码通过fsolve函数求解非线性方程组,其中lambda在一定范围内变化。结果被用于计算omega1 - omega2的值,并将这些值随lambda的变化进行绘图。
* d  @( c6 G2 f$ p4 G; R( o' Q  q
" A  B6 \! Z) y结果图片如下:
$ i4 D" `" n, Z- V. C. v VeryCapture_20231118115514.jpg
0 n' c6 p% q2 z, C
3 b- x5 {, p/ {$ e1 \. q
- l" ?% m1 d! r4 Y7 D6 n3 b
- Y, a, l  ~# U+ S% 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-7-28 03:38 , Processed in 0.673114 second(s), 55 queries .

回顶部