yangweihong1982 发表于 2008-6-3 22:07

关于fsolve一个很火急的问题.谢谢啊.

最近被这个问题捆了好多天了.还是看代码吧.
a=cf_1.a;
b=cf_1.b;
c=cf_1.c;
aa=cf_2.a;
bb=cf_2.b;
cc=cf_2.c;
dd=cf_2.d;
fun='0.5*a*(1-exp(b*x))./(1+exp(c*x))-aa*(1-exp(bb*x))./(1+dd*exp(cc*x))';
=fsolve(fun,0)

cf_1,cf_2是前面程序得到的结构体,相当于a,b,c,aa,bb,cc,dd是已知的阿,为什么在fsolve这个方程的时候老是报错,说是不认识fun里的a,b,c,aa,bb,cc,dd呢,请问我怎么样才能解出这个方程阿。只要能解出就行了,多谢各位好心人了,本人在等啊。

花如月 发表于 2008-6-3 22:27

fun定义有问题哦,价格引号就成字符串了不是表达式:@L
      看看fsolve的帮助,或者看看一些帖子里的用法

yangweihong1982 发表于 2008-6-4 11:17

回复 2楼 的帖子

引号去掉了又不认识x了,到底我该怎么写啊,才能解出这个方程,只要能解出就行了。多谢了。

whatman 发表于 2008-6-4 11:51

=fsolve(@fun,0);
function F = fun(x)
F = 0.5*a*(1-exp(b*x))./(1+exp(c*x))-aa*(1-exp(bb*x))./(1+dd*exp(cc*x));
这样应该可以了,还有可以把第一行的x,y换成别的字母代替试一下

ch_j1985 发表于 2008-6-4 11:58

原帖由 yangweihong1982 于 2008-6-4 11:17 发表 http://www.chinavib.com/forum/images/common/back.gif
引号去掉了又不认识x了,到底我该怎么写啊,才能解出这个方程,只要能解出就行了。多谢了。
fun=inline('0.5*a*(1-exp(b*x))./(1+exp(c*x))-aa*(1-exp(bb*x))./(1+dd*exp(cc*x))','x');
页: [1]
查看完整版本: 关于fsolve一个很火急的问题.谢谢啊.