[已答复] matlab解非线性方程组

[复制链接]
安吉妮尔zzz 发表于 2021-1-18 11:22:43
本帖最后由 安吉妮尔zzz 于 2021-1-18 11:29 编辑

matlab解非线性方程组
ln(Ir/Ig)==(5+a)*(log(Lg/Lr))-C2/(Lr*T)+C2/(Lg*T)
ln(Ir/Ib)==(5+a)*(log(Lb/Lr))-C2/(Lr*T)+C2/(Lb*T)

其中,
Ir=[576870070,587110830;577759520,583545840];
Ig=[5214789153265759;5456130254821113];
Ib=[806699,941583;932249,1052335];
Lr=0.7*10^(-6);
Lg=0.546*10^(-6);
Lb=0.436*10^(-6);
C1=3.7419*10^(-16);
C2=1.4388*10^(-2);

求a和T

求助各位前辈们的指导,不胜感激~

2 条回复


安吉妮尔zzz 发表于 2021-1-18 11:27:16
本帖最后由 安吉妮尔zzz 于 2021-1-18 13:46 编辑

当Ir,Ig,Ib是一个数的时候,我可以用vapsolve函数计算出a,T。
当Ir=576870070;Ig=52147891;Ib=806699时
我的程序如下:
  1. clear
  2. clc

  3. Ir=576870070;
  4. Ig=52147891;
  5. Ib=806699;
  6. Lr=0.7*10^(-6);
  7. Lg=0.546*10^(-6);
  8. Lb=0.436*10^(-6);
  9. C1=3.7419*10^(-16);
  10. C2=1.4388*10^(-2);


  11. syms a T
  12. eqns=[log(Ir/Ig)==(5+a)*(log(Lg/Lr))-C2/(Lr*T)+C2/(Lg*T),...   
  13.       log(Ir/Ib)==(5+a)*(log(Lb/Lr))-C2/(Lr*T)+C2/(Lb*T)];
  14.     [answ_a,answ_T] = vpasolve(eqns,[a,T],'Random',true)
复制代码


结论是
  1. answ_a =

  2. 18.559650517762200458133133976537


  3. answ_T =

  4. 702.09821334656081821514872682246
复制代码


但实际Ir,Ig,Ib每个都是2056*500的矩阵,我就不会计算了。
希望各位得到各位前辈们的指导,我该怎么改这个程序,问题中给出了2*2的Ir,Ig,Ib数据。

TouAkira 发表于 2021-1-18 17:09:15
对每组数值挨个求解,参考
https://www.ilovematlab.cn/thread-577662-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表