zhly 发表于 2009-3-13 21:51

带求和式的指数方程怎么解?

请问附件图片中的方程怎么解?
式中D为未知待求量,其它均已知,这里给定
a=;
d=;
n=3


solve(sum(abs(d(1:3))*a(1:3)^(D-1))=1);%这个不对呀

无水1324 发表于 2009-3-14 16:46

fsolve, 或者直接画图可以近似作出来

zhly 发表于 2009-3-14 17:42

function F=fun(D)
a=;
d=;
n=3;
F=;


命令行输入
clear all; D0=0; fsolve(@F, D0);

错误提示
??? Error using ==> mpower
Matrix must be square.
Error in ==> F at 5
F=;

请问是不是求和处不能这样写?

ChaChing 发表于 2009-3-14 20:29

回复 板凳 zhly 的帖子

目前无matlab试
试试F=abs(d)*a'.^(D-1)-1;

[ 本帖最后由 ChaChing 于 2009-3-14 20:30 编辑 ]

side 发表于 2009-3-14 21:51

你的意思是(d_1+d_2+d_3)*(1/3)^(D-1)=1;即
0.6*(1/3)^(D-1)=1;
D=1+(ln0.6/ln3);
可以这样理解么。

zhly 发表于 2009-3-14 22:16

原帖由 side 于 2009-3-14 21:51 发表 http://www.chinavib.com/forum/images/common/back.gif
你的意思是(d_1+d_2+d_3)*(1/3)^(D-1)=1;即
0.6*(1/3)^(D-1)=1;
D=1+(ln0.6/ln3);
可以这样理解么。

不是你理解的这个意思,应该是
|d(1)|*a(1)^(D-1)+|d(2)|*a(2)^(D-1)+|d(3)|*a(3)^(D-1)=1
这里我只是取n=3,实际中n比较大

zhly 发表于 2009-3-14 22:20

原帖由 ChaChing 于 2009-3-14 20:29 发表 http://www.chinavib.com/forum/images/common/back.gif
目前无matlab试
试试F=abs(d)*a'.^(D-1)-1;


我试了
把F=;改为F=;
还是出错,出错信息:
Optimization terminated: first-order optimality is less than options.TolFun.

而且我不太理解你这个式子的含义F=abs(d)*a'.^(D-1)-1,能解释一下a为什么用a'吗?谢谢

ChaChing 发表于 2009-3-14 22:21

function F=fun(D,a,d)
F=abs(d)*a'.^(D-1)-1;

命令行输入
a=; d=;
D0=0; fsolve(@F, D0,a,b);

[ 本帖最后由 ChaChing 于 2009-3-15 05:41 编辑 ]

zhly 发表于 2009-3-14 22:32

这里的b是不是改为d呀?

function F=fun(D,a,d)
F=abs(d)*a'.^(D-1)-1;

a=; d=;
D0=0; fsolve(@F, D0,a,d);

??? Input argument "d" is undefined.

Error in ==> F at 8
F=abs(d)*a'.^(D-1)-1;

Error in ==> fsolve at 180
      fuser = feval(funfcn{3},x,varargin{:});

side 发表于 2009-3-14 22:33

回复 6楼 zhly 的帖子

但是楼主给的a(1)=a(2)=a(3),

zhly 发表于 2009-3-14 22:49

回复10楼side

我这里给出的a(1)=a(2)=a(3)了,这样的话可以这样解了a^(D-1)=1/sum(d),进而得到
D=1-lg(sum(d))/lga
你说的方法可行,谢谢你

当a(1)、a(2)、a(3)不相等时,需要一个通用的解法

zhly 发表于 2009-3-14 22:56

谢谢side,ChaChing两位帮忙

要锁门了,不得不回去了,多谢side,ChaChing两位帮忙,明天再继续改程序了。

ChaChing 发表于 2009-3-15 06:13

1.矩阵的次方是使用mpower, 如a^3意义是a*a*a, 所以一定要是方阵square matrix (for 3F)
2.首先'Optimization terminated: first-order optimality is less than options.TolFun.'并非报错, 而是告诉你收敛了 (for 7F)
3.为什么使用转置a', 两个row vector可以相乘吗?当然是row vector乘column vector才是连加的意义

水平有限, 不知是否解释清楚

zhly 发表于 2009-3-15 10:53

function F=fun(D)
a=;
d=;
n=3;
F=;
命令行输入
clear all; D0=1; fsolve(@F, D0);
Optimization terminated: first-order optimality is less than options.TolFun.

ans=0.53503

zhly 发表于 2009-3-15 11:25

原帖由 ChaChing 于 2009-3-15 06:13 发表 http://www.chinavib.com/forum/images/common/back.gif
1.矩阵的次方是使用mpower, 如a^3意义是a*a*a, 所以一定要是方阵square matrix (for 3F)
2.首先'Optimization terminated: first-order optimality is less than options.TolFun.'并非报错, 而是告诉你收敛了 (fo ...

谢谢你详细解释,还有些疑问
1.方程里,a不是方阵,a'=,1<D<2,因此a'^(D-1)是一个非方阵的非整数次幂,程序也能运行得通了,最终结果是D=D0+ans=1+0.53503吗?
页: [1] 2
查看完整版本: 带求和式的指数方程怎么解?