dongdongme 发表于 2009-9-6 19:41

关于符号函数syms

我的程序段是这样的:
clear; g=0.01; n=24; cei=0.01; omga=1; bata=4.5; afa=0.1;
v=0.8; b=0.005*v^2; lame=;
syms x
for t=1:3
    fai(t)=cosh(lame(t)*x)-cos(lame(t)*x)-(cosh(lame(t))+cos(lame(t)))*(sinh(lame(t)*x)-sin(lame(t)*x))/(sinh(lame(t))+sin(lame(t)));
end
for i=1:3,for j=1:3
      mm(i,j)=int(fai(j)*fai(i), x, 0, 1);
      cc(i,j)=cei*int(fai(j)*diff(fai(i), 4), x, 0, 1)/omga;
      kk(i,j)=(int(fai(j)*diff(fai(i), 4), x, 0, 1)-bata^2*afa*int((1-x)*fai(j)*diff(fai(i), 2), x, 0, 1)-1/2*bata^2*int((1-x^2)*fai(j)*diff(fai(i), 2), x, 0, 1))/omga^2;
      m(i,j)=double(mm(i,j)); c(i,j)=double(cc(i,j)); k(i,j)=double(kk(i,j));
end; end

运行之后一直提示这样的错误:
??? Error using ==> reshape
To RESHAPE the number of elements must not change.

Error in ==> sym.maple at 94
      result = reshape(result,size(varargin{3}));

Error in ==> sym.int at 51
   r = reshape(maple('map','int',f(:),),size(f));

怎么回事呢,我改了好久也不行。。太着急了,请大家帮帮忙~~

[ 本帖最后由 ChaChing 于 2009-10-27 20:02 编辑 ]

lxy04123 发表于 2009-9-6 20:01

回复 楼主 dongdongme 的帖子

这种问题很常见,可能是输入或某个量是向量或矩阵形式,而计算的函数不能直接对矩阵运算,所以出现元素数量不符的情况,找一下出错的位置,再向前找,对矩阵运算用点乘,所有的都要乘,

dongdongme 发表于 2009-9-6 21:25

回复 沙发 lxy04123 的帖子

不是啊,,都是对元素的运算啊。。

lxy04123 发表于 2009-9-7 08:49

可能

应该是第二十行int(fai(j)*fai(i), x, 0, 1)出的问题

friendchj 发表于 2009-9-7 09:08

单步执行第一步是通的,之后一直busy。
我的版本是2008a

lxy04123 发表于 2009-9-7 09:32

当i=1,j=2时,20行int积分的函数表达式中含有/x项,即分母有x,若积分的话x=0时则为无穷大,可以使初始值设为非零试试

dongdongme 发表于 2009-9-7 15:49

回复 5楼 friendchj 的帖子

恩,我那个,busy了很长时间以后出现的提示错误~~

dongdongme 发表于 2009-9-7 16:02

回复 地板 lxy04123 的帖子

恩,是int的问题。。

dongdongme 发表于 2009-9-7 16:29

回复 6楼 lxy04123 的帖子

不是分母的问题。。
难道是j=2的时候,数字太大了没办法积分?。。
omg..

friendchj 发表于 2009-9-7 17:16

把int改成quad试试,这样会加快运算速度。例如:
K>> ss=fai(2)*fai(1);
K>> ss=feval(@char,ss);
K>> quad(@(x)ss,0,1)
Warning: Maximum function count exceeded; singularity likely.
> In quad at 106
In shiyan at 26
ans =
   90.2424
K>>

[ 本帖最后由 friendchj 于 2009-9-7 17:17 编辑 ]

beyondhxf 发表于 2009-10-28 12:53

回复 楼主 dongdongme 的帖子

我也遇到了相似的问题,你的问题是怎么解决的啊?
页: [1]
查看完整版本: 关于符号函数syms