注册 登录
编程论坛 Matlab

求解方程组 10个未知数10个方程

chaiqi 发布于 2008-10-17 13:18, 1248 次点击
>> [a,b,c,d,e,f,g,h,i,j]=solve('a=b-0.0000061135',
'c=a*84533/sqrt(461.9*368)*sqrt(0.8)*sqrt(1.335*(2/2.335)^(2.335/0.335))',
'd=0.8*(0.0028*904.1946+c*440.8695)/(0.0028+c)',
'e=((0.0028*(1.873*217.92+0.5*904.1946)+c*(1.873*315.2034+0.5*440.8695^2))/(0.0028+c)-0.5*d^2)/1.873',
'f=d/sqrt(1.335*461.9*e)',
'g=4.5604e+004*(1+2*1.335/2.335*(f^2-1))',
'h^2=(1+0.335/2*f^2)/(1.335*f^2-0.335/2)',
'g*(1+0.335/2*h^2)^(1.335/0.335)=315604',
'i^2=2*((1.873*e+0.5*d^2)*0.8-1.873*408)',
'j=(0.0028+c)*461.9*408/i/315604')

怎样求解以上方程组

[[it] 本帖最后由 chaiqi 于 2008-10-17 13:20 编辑 [/it]]
1 回复
#2
hitzhang2008-10-17 19:03
function F=myfun2(x)
a=x(1);b=x(2);c=x(3);d=x(4);e=x(5);f=x(6);g=x(7);h=x(8);i=x(9);j=x(10);
F=[a-b-0.0000061135;
c-a*84533/sqrt(461.9*368)*sqrt(0.8)*sqrt(1.335*(2/2.335)^(2.335/0.335));
d-0.8*(0.0028*904.1946+c*440.8695)/(0.0028+c);
e-((0.0028*(1.873*217.92+0.5*904.1946)+c*(1.873*315.2034+0.5*440.8695^2))/(0.0028+c)-0.5*d^2)/1.873;
f-d/sqrt(1.335*461.9*e);
g-4.5604e+004*(1+2*1.335/2.335*(f^2-1));
h^2-(1+0.335/2*f^2)/(1.335*f^2-0.335/2);
g*(1+0.335/2*h^2)^(1.335/0.335)-315604;
i^2-2*((1.873*e+0.5*d^2)*0.8-1.873*408);
j-(0.0028+c)*461.9*408/i/315604];


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


>>fsolve(@myfun2,[a0 b0 c0 d0 e0 f0 g0 h0 i0 j0])%初始值的选取就得看你了,严重影响结果
1