请各位高手们帮忙解一道简单matlab编程题! !小妹我先谢过了~100分啦!

问题是这样的,有这么几个带入公式:
Q1=EXP(2.36-0.3*lnP), Q2=EXP(2.46-0.6*lnP)
MC1=2.5-0.1*Q1, MC2=2.5-0.1*Q2
AC1=6-0.45*Q1, AC2=6-0.45*Q2
J1=P-AC1, J2=P-AC2
S1=Q1*J1, S2=Q2*J2 ①
以上是计算所需基本公式,标注数字号的是关系公式。
+++++++++++++++++
TC1=Q1*AC1, TC2=Q2*AC2
V1=S1/TCG,V2=S2/TC2,
r=(S1+S2)/S2,
L=2*Q1/Q2,
QT1=Q1/6,QT2=Q2/12,
R1=E1*(P-MC1)/P ;E1=-0.3
R1=E2*(P-MC2)/P;E2=-0.6
以上是计算其他数据所需公式。
请根据:当 S1=-S2时 ,输出P,S1,-S2 , V1 , V2 , R ,L ,QT1 , QT2 , R1 , R2
抱歉,可能公式有点多...可是我急着用,请各位高手谅解!~
这是在下的邮箱:[email protected]
小女谢谢了!!!我今天一天在线 可是随时hi我~

你应该给出你具体不能解决的问题在哪啊,这么多公式写出来让人头晕追问

我是不会编啊~公式是多,可是都要用到..算的时候要带入所以比较麻烦,但是用计算机编程的话就可以简单些了,所以我想求一下编程~谢谢了~!

追答

是把你列的所有方程放一起解?这个方程数比变量数多啊

追问

不多啊。。唉,最终就是要算这个啦:S1=(P-6+0.45*EXP2.36-0.3lnP)*EXP(2.36-0.3*lnp),S2=(P-6+0.45*EXP2.46-0.6lnP)*EXP(2.46-0.6*lnp), 当S1=-S2时,输出P值。。。剩下的其他值,我不是给了公式了吗,而且整个过程就只有一个主变量啊就是P,P算出来了,其他的带入就求出来了,只不过有的数求出来得带好几层式子...今天我就是想通过用编程序的方式算出其他值,这样能快点..我求的就是这么一个编程的程序啊,,,这回明白了么?

追答

我算出P是1.0128
用matlab里的单变量优化函数fminbnd即可

追问

不是的...应该是2.85左右~再算算呗~要不你把代码发给我也行啊~谢谢啦!!!~~救人一命胜造七级浮屠啊!~~

追答

是2.7927,我原来把范围设小了

function fx=funx(P)
fx=abs((P-6+0.45*exp(2.36-0.3*log(P)))*exp(2.36-0.3*log(P))+(P-6+0.45*exp(2.46-0.6*log(P)))*exp(2.46-0.6*log(P)));
把这段代码写进m文件,存成funx.m
再新建一个文件main.m,输入代码
x=fminbnd('funx',0,10)
运行main,就有了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-10
我发给你了
相似回答