作业帮 > 综合 > 作业

matlab解方程组问题,结果为什么带未知量?怎么办?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 01:25:19
matlab解方程组问题,结果为什么带未知量?怎么办?
matlab中输入
[v1,i1,i2,i3]=solve('i1=(8-v1)/25000','i2=v1/(j*50e-6)','i3=v1/25000','i1=i2+i3');
[v1,i1,i2,i3]
结果为
ans =
[ .32000000000000000000000000000000e-3-1.*i3, .32000000000000000000000000000000e-3-2.*i3,
-1562500000000.*i3/(-1.+6250.*i3),
25000.*i3]
为什么?
你还是定义下符号变量吧
syms v1 i1 i2 i3
[v1,i1,i2,i3]=solve('i1=(8-v1)/25000','i2=v1/(j*50e-6)','i3=v1/25000','i1=i2+i3',v1,i1,i2,i3);
[v1,i1,i2,i3]
再问: ans = [ .16000000000000000000000000000000e-3*(500000000.+j)/(250000000.+j), 80000./(250000000.+j), .16000000000000000000000000000000e-3*j/(250000000.+j), 4.*j/(250000000.+j)] 结果是这样的。怎么不是数值型的呢?亲
再答: 怎么不是数值型的?你的方程解出来有虚数啊 syms v1 i1 i2 i3 [v1,i1,i2,i3]=solve('i1=(8-v1)/25000','i2=v1/(sqrt(-1)*50e-6)','i3=v1/25000','i1=i2+i3',v1,i1,i2,i3); v1=double(v1) i1=double(i1) i2=double(i2) i3=double(i3) 这样就可以了