Matlab 解方程,无法求解析解,怎样修改?

symsxyzpower1=2.5*((x/(100))+1/4/(1-x/(100))^2-1/4)power2=-1*((x/(100))+1/4/(1-x/(100... syms x y z
power1= 2.5*((x/(100))+1/4/(1-x/(100))^2-1/4)
power2= -1*((x/(100))+1/4/(1-x/(100))^2-1/4)
kf= 0.3*exp(power1)
kb=0.003*exp(power2) %以上均为关于x 的函数
z=int( (kf*5-kb*300) , x , 0, y ) % z定义为关于y的积分上限函数
A=solve(z-100) % 解y, 其中 z(y)=100
用matlab出现:Warning: Explicit solution could not be found.

求问这个方法是不是不适合?有木有其他更好的方法啊。。多谢指教!
问题可以简化为:(系数全为1)
syms x y z
p= (x+1/4/(1-x)^2-1/4)

z=int( (exp(p) - exp(-p) ) , x , 0, y )

solve(z-1)

用matlab解也是一样的情况,感觉是函数p的形式问题吧?
展开
 我来答
书宬
2013-02-18 · TA获得超过7851个赞
知道大有可为答主
回答量:2125
采纳率:75%
帮助的人:3317万
展开全部
function eq=mpd(y) % 在当前工作文件夹下保存为 mpd.m 文件
syms x
power1=2.5*((x/(100))+1/4/(1-x/(100))^2-1/4);
power2=-1*((x/(100))+1/4/(1-x/(100))^2-1/4);
kf= 0.3*exp(power1);
kb=0.003*exp(power2);
z=double(int((kf*5-kb*300),x,0,y));
eq=z-100;

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

运行以下:
[y,fval]=fzero('mpd',20) % fval=mpd(y)
追问
谢谢,可是还是报错啊:
Error in MuPAD command: DOUBLE cannot convert the input expression into a double
array.
你试下是什么结果?
追答

没试我能回答吗?

 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式