全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2147 6
2013-04-27
悬赏 20 个论坛币 已解决
function f=fun19(Y)
a1=0.670115;a2=0.038793;a3=0.000398;a4=0.290694;
sigma=1.25;
x1=970;x2=23.06452;x3=6.666667;x4=231.5385;
pper=30;
E=1025.13;
PE=1.290114;
a=0.169354;
co2=2466.477;
allco2=52034.07;
coef1=2.763;coef2=2.145;coef3=1.642;coef4=0;
P1=1;P2=6.2;P3=0.3;P4=2.6;
b=1561022;
c1=83.89;c2=70.55;c3=49.56;c4=2.6;
g=0.785379;
F=8078.219;
f(1)=a1 * Y(8)^(1 / sigma - 1) + a2 * Y(9)^(1 / sigma - 1) + a3 * Y(10)^(1 / sigma - 1) + a4 * Y(11)^(1 / sigma - 1)-Y(1);
f(2)=E + sigma / (1 - sigma) * (Y(1) / a - 1) * E-Y(2);
f(3)=Y(14) * Y(2) + pper * allco2-Y(3);
f(4)=Y(16) + pper * coef1-Y(4);
f(5)=Y(17)+ pper * coef2-Y(5);
f(6)= Y(18)+ pper * coef3-Y(6);
f(7)=Y(19) + pper * coef4-Y(7);
f(8)=x1 * (sigma - 1) * (Y(2) / E-1) + X1 * sigma * (Y(3) / b - Y(4)/ c1) + x1-Y(8);
f(9)=x2 * (sigma - 1) * (Y(2)/ E-1) + X2 * sigma * (Y(3)/ b - Y(5)/ c2) + x2-Y(9);
f(10)=x3 * (sigma - 1) * (Y(2)/ E-1) + X3 * sigma * (Y(3)/ b - Y(6)/ c3) + x2-Y(10);
f(11)=x4* (sigma - 1) * (Y(2)/ E-1) + X4 * sigma * (Y(3)/ b - Y(7)/ c4) + x2-Y(11);
f(12)= a1^sigma * Y(16)^(1 - sigma) + a2^sigma * Y(17)^(1 - sigma) + a3^sigma * Y(18)^(1 - sigma) + a4^sigma * Y(19)^(1 - sigma)-Y(12);
f(13)=coef1 * Y(8)+ coef2 * Y(9) + coef3 * Y(10) + coef4 * Y(11)-Y(13);
f(14)= pE + pE / (1 - sigma) * ((Y(12) - g) / g )-Y(14);
f(15)=Y(16) * Y(8)^sigma + Y(17) * Y(9)^sigma + Y(18) * Y(10)^sigma + Y(19) * Y(11)^sigma-Y(15);
f(16)=p1 * Y(15) / f + sigma * p1 + sigma * p1 * Y(8) / x1-Y(16);
f(17)=p2 * Y(15) / f + sigma * p2 + sigma * p2 * Y(9) / x2-Y(17);
f(18)=p3 * Y(15) / f + sigma * p3 + sigma * p3 * Y(10) / x3-Y(18);
f(19)= (Y(2) * Y(14) - Y(8) * Y(16) - Y(9) * Y(17) - Y(10) * Y(18) - pper * (Y(13) - co2)) / Y(11)-Y(19);
Y0=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
Y=fsolve(@fun19,Y0,1)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
以上是我的代码,解19个方程,19个未知数的方程组,错误提示是
Error in ==> fun19 at 17
f(1)=a1 * Y(8)^(1 / sigma - 1) + a2 * Y(9)^(1 / sigma - 1) + a3 * Y(10)^(1 / sigma - 1) + a4 * Y(11)^(1 / sigma - 1)-Y(1);
我才开始接触MATLAB,不知道为什么错误,请各位好心人帮忙看下,非常感谢!

最佳答案

美髯客 查看完整内容

呵呵,Y(*)的数据在哪呢?错误可能在这里啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-4-27 11:40:17
呵呵,Y(*)的数据在哪呢?错误可能在这里啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-27 11:56:00
呵呵,刚刚测试了下,确实是Y没有定义:??? Input argument "Y" is undefined.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-27 14:29:00
美髯客 发表于 2013-4-27 11:56
呵呵,刚刚测试了下,确实是Y没有定义:??? Input argument "Y" is undefined.
我是想把Y(1)~Y(19)当做未知数来解得呢,请问这个要怎么定义呢?
有个朋友说我这个还需要设置一个迭代程序,麻烦高人看下是这样吗?谢谢了哦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-27 14:45:45
他说的有道理,你这个表达其实是数学的,不是程序的,你要想办法把其表示为程序能够读懂的,建议看下Matlab求解非线性方程的资料,其实主要是靠矩阵的运算,不是你这种数学公式,程序不像人一样聪明!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-28 11:02:10
美髯客 发表于 2013-4-27 14:45
他说的有道理,你这个表达其实是数学的,不是程序的,你要想办法把其表示为程序能够读懂的,建议看下Matlab ...
请问老师,我是想把Y(1)~Y(19)当做未知数来解,在程序里要怎么定义这个Y呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群