|
|
【答案】应助回帖
新建一个函数 myfunc.m
function fx=myfunc(x)
%变量区
a=x(1);
b=x(2);
c=x(3);
d=x(4);
e=x(5);
%常数区
s=0;
o=33;
m=0.029;
v=2.7;
c11=25.2766*214*0.91*s;
c12=(0.95+6.76*v^0.49)*25.2766*2*107;
c13=42119*10^(-5);
c14=13779.3696*10^(-8);
fx1=c11-c12*(a-o)-c13*(a+273.16)^4-(e+273.16)^4)-c14*((a+273.16)^4-(d+273.16)^4);
c21 = 2400*10218.5;
c22 = 2400/1185*0.89^(1/3)*1438.3*0.33*8*462.52;
c23 = 3.85355*10^(-4);
c24 = 3.0919*10^(-5);
c25 = 2400/1185*0.89^(1/3)*3243.8*0.33;
c26 = 2400/3600*4*44500;
fx2 = -c21*b + c22*(0.01347-c23*e+c24*e^2-b)-c25*(b-0.01347+c23*d-c24*d^2)-c26*(m-b);
c31 = 1185*10218.5;
c32 = 1438.3*1649.68*0.33;
c33 = 3243.8* 0.33*25.2766*314;
c34 = 1185*4*44500;
fx3 = -c31* c+c32*(e-c)-c33*(c-d)-c34*(c-o+0.8*5);
c41 = 0.81*0.91*25.2766*2*107;
c42 = 3243.8*25.2766*2*107*0.33;
c43 = 2400/1185*0.89^(1/3)*3243.8*0.33*25.2766*2*107;
c44 = 5.67*10^(-8)*25.2766*2*107;
c45 = 1/0.62+1/0.62-1;
fx4=c41*s+c42*(c-d)+c43*(b-0.01347+c23*d-c24*d^2)-c44*((a+273.16)^4-(d+273.16)^4)/c45;
c51 = 4.17*10^6*8*892;
c52 = 0.81^2*(1-0.09)*8*462.54;
c53 = 462.54/1649.68*1438.3*1649.68*0.33;
c54 = 2400/1185*0.89^(1/3)*1438.3*0.33;
c55 = 2400/1185*0.89^(1/3)*3243.8*0.33;
c56 = 5.67*10^(-8)*0.97*0.33*462.54*8/(1/0.97+1/0.62-1);
c57 = 5.67*10^(-8)*0.97*0.33*0.33*462.54*8;
fx5 = -c51*e+c52*s-c53*(e-c)-c54* (0.01347-c23*e+c24*e^2-b)-c55+c56*((a+273.16)^4-(e+273.16)^4)+c56*((d+273.16)^4-(e+273.16)^4)-c57*((e+273.16)^4-0.0552*(o+273.16)^6);
fx = [fx1;fx2;fx3;fx4;fx5];
然后在Matlab主工作区输入以下
clear all;
clc
x0=[1 2 3 4 5];
x=fsolve(@myfunc,x0)
其中x0是a,b,c,d,e的初始假设值。
楼主的原帖中有些地方不是很明确,尤其是 *^0.33,所以需要先细心检查以下各个常数和方程表达式。 |
|