MATLAB如何求因式方程组

来源:百度知道 编辑:UC知道 时间:2024/05/15 04:27:07
我想知道 如何用MATLAB 求解 因式方程组。
本人没学过电脑语言的任何知识,学的是财务,但是建模的时候有个需要用电脑来求解 因式方程组,哪位大虾帮帮我啊
比如说:1000*(1+0.2/A)*(1+0.1/B)*C=828
1500*(1+0.1/A)*(1+0.2/B)*C=1482
2000*(1+0.3/A)*(1+0.3/B)*C=1972
求ABC 这样子的方程。
最好能帮我写一下过程 3Q

我只写第一个等式的解法,其他两个式子类同:
直接在matlab的命令窗口输入以下命令:
A=solve('1000*(1+1/(5*A))*(1+1/(10*B))*C-828','C')
得:
A =

-5*C*(10*B+1)/(250*C*B+25*C-207*B)

B=solve('1000*(1+1/(5*A))*(1+1/(10*B))*C-828','C')
得:
B =

-5*C*(5*A+1)/(250*C*A+50*C-207*A)

C=solve('1000*(1+1/(5*A))*(1+1/(10*B))*C-828','C')
得:
C =

207/5/(5*A+1)/(10*B+1)*A*B

看明白了吗:
首先把式子化成等号右边为0的式子,把小数都改成分数形式,要不然的话,计算机会给你取近似值,不准确,然后执行以下命令:
solve("等号右边为0的式子",'所求的变量')
其余的你自己写吧!!

clc;clear
syms A B C
f1=1000*(1+0.2/A)*(1+0.1/B)*C-828
f2=1500*(1+0.1/A)*(1+0.2/B)*C-1482
f3=2000*(1+0.3/A)*(1+0.3/B)*C-1972
[A,B,C]=solve(f1,f2,f3)

结果:
A =

-2
-37/162

B =

2/3
-25/106

C =

4/5
185/16