查看: 157|回复: 3|关注: 0

[已解决] 如何求得方程组的数值解

[复制链接]

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
本帖最后由 stormalpha 于 2019-11-3 19:32 编辑

各位前辈,小白求问

例如

  1. a=2,b=1,
  2. [x,y]=solve('a*x+1=y','b*x+2=y')
复制代码


这样求得的X,Y的值时含a,b的表达式。如何求得x=1,y=3的数值解?

更复杂点的,

  1. clc
  2. clear all
  3. syms I1 I2 ;

  4. Vin=1;
  5. L1=4e-6;
  6. L2=L1;
  7. C1=1e-9;
  8. C2=C1;
  9. T1=2*pi*sqrt(L1*C1);
  10. T2=2*pi*sqrt(L2*C2);

  11. [I1,I2]=solve('(Vin/L1)*(T2/2-T2/(2*pi)*acos(Vin/(L2*I2)*T2/(2*pi)))=I1*sqrt(1-(Vin*T1/(L1*I1*2*pi))^2)','(Vin/L2)*(T1/2-T1/(2*pi)*acos(Vin/(L1*I2)*T1/(2*pi)))=I2*sqrt(1-(Vin*T1/(L2*I1*2*pi))^2)')
复制代码

这段包含acos的代码中能直接求得I1和I2的解吗?



论坛优秀回答者

中级

1040 麦片

财富积分


5001500


0

主题

2541

帖子

225

最佳答案
  • 关注者: 146
发表于 2019-11-4 10:55:56 | 显示全部楼层 |此回复为最佳答案
数值解很容易吧:
i2: 0.0357626144377565
i1: 0.0357626144377565

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2019-11-4 10:58:45 | 显示全部楼层
shihe 发表于 2019-11-4 10:55
数值解很容易吧:
i2: 0.0357626144377565
i1: 0.0357626144377565

对的大神,应该就是这个结果。但是我上面的代码为啥跑出来是
Warning: Explicit solution could not be found.
> In solve at 169
  In main at 14

I1 =

[ empty sym ]


I2 =

     []

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2019-11-4 11:03:34 | 显示全部楼层
本帖最后由 stormalpha 于 2019-11-4 11:04 编辑
shihe 发表于 2019-11-4 10:55
数值解很容易吧:
i2: 0.0357626144377565
i1: 0.0357626144377565

我跑出来了大神,加了个eval的函数。应该是这样的吧。

  1. eqa1='(Vin/L1)*(T2/2-T2/(2*pi)*acos(Vin/(L2*I2)*T2/(2*pi)))-I1*sqrt(1-(Vin*T1/(L1*I1*2*pi))^2)'

  2. eqa2='(Vin/L2)*(T1/2-T1/(2*pi)*acos(Vin/(L1*I2)*T1/(2*pi)))-I2*sqrt(1-(Vin*T1/(L2*I1*2*pi))^2)'


  3. [I1,I2]=solve(eval(eqa1),eval(eqa2))

复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表