新手请教一个错误,请牛人帮忙,谢谢
程序出现错误??? Error using ==> reshapeTo 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));
Error in ==> kk at 18
T=int(Wk*Wl,y,0,L);
搞了几天不知道错误原因,恳求大家帮忙分析一下。下面是我的程序(求出B矩阵6*6):
clear
clc
c=1.829;b=c/2;L=6.096;m=35.72;Iy=8.643;Sy=6.524;EI=9.753e+6;GJ=0.9877e6;ro=1.29;a=-0.5;
Mh=0.5;
Lh=0.9423-0.5129*i;
La=0.1858-0.9841*i;
Ma=0.3750-0.5000*i;
Mthi=pi*ro*b^4*(Ma-La*(1/2+a)-Mh*(1/2+a)+Lh*(1/2+a)^2);
Lwi=pi*ro*b^2*Lh;
omigaw=; %前面都是定义一些参数
syms y
for k=1:6
for l=1:6
if k<=3&&l<=3
Wk=(sin(L*omigaw(k))-sinh(L*omigaw(k)))*(sin(omigaw(k)*y)-sinh(y*omigaw(k)))+(cos(L*omigaw(k))+cosh(L*omigaw(k)))*(cos(y*omigaw(k))-cosh(y*omigaw(k)));
Wl=(sin(L*omigaw(l))-sinh(L*omigaw(l)))*(sin(omigaw(l)*y)-sinh(y*omigaw(l)))+(cos(L*omigaw(l))+cosh(L*omigaw(l)))*(cos(y*omigaw(l))-cosh(y*omigaw(l)));
T=int(Wk*Wl,y,0,L);
T=double(T);
B(k,l)=(m+Lwi)*T;
elseif k>3&&l>3
Thitak=sin(omigaa(k-3)*y);
Thital=sin(omigaa(l-3)*y);
T=int(Thitak*Thital,y,0,L);
T=double(T);
B(k,l)=(Iy+Mthi)*T;
else
B(k,l)=0;
end
end
end
[ 本帖最后由 honyan 于 2009-6-29 20:40 编辑 ] 这方面不熟练!
没空探究为何报错, 仅先瞄下直觉LZ可不使用symbolic
直接使用数值不行吗? (quad)
回复 楼主 honyan 的帖子
直接运行,好像很费时间,改成for k=1:1
for l=1:1
……
得到
>> B
B =
2.1886e+003 -9.7771e+001i
改成
for k=1:1
for l=1:2
……
一直处于busy
我在2008a版本试的。
回复楼上
for k=1:1for l=1:1
……
可以得到B和你的一样
但改成
改成
for k=1:1
for l=1:2
……
就出现上面的错误
页:
[1]