
为什么matlab中含一个符号变量的式子,定积分后还是符号变量?结果为NaN空值? 5
clcclearsymsti%xi=0~10,是荷载位置,ti=0~xi是积分范围p=1;%单位荷载t=20;%板厚ha=1e3;%自由端高度b=500;%翼缘宽度hxi...
clcclearsyms ti %xi=0~10,是荷载位置,ti=0~xi是积分范围p=1; %单位荷载t=20; %板厚ha=1e3; %自由端高度b=500; %翼缘宽度hxi=ha*(2-ti/10)-t*2; %ti处的腹板高度Ixi=2*((b*t.^3)/12+(hxi./2+t/2).^2*b*t)+t*hxi.^3/12; %ti处的惯性矩XF=[10:-1:1]';M=p*(XF(1)-ti); %ti处的弯矩E=3.45e4;Fi=M/Ixi;theta=int(Fi,ti,0,10);
展开
1个回答
展开全部
其实,你仔细观察一下会发现,用第二种方法得到xk表达式之后再subs代入的结果有这样的特点:
1、大部分项的值都很小,量级在10^(-16),可以看作0;
2、对应于第一种方法得到的非零项的结果是Inf或NaN。
这有两个原因:
1、第1种情况由数值计算误差导致;
2、第2种情况是因为,求出的xk表达式中,分母有因式(k^4 - 5*k^2 + 4),也就是对于k=±2,±1来说会出现被0除的情况。
解决这个问题可以用极限:
syms t k
xk1=int((cos(2*pi*t)+sin(4*pi*t))*exp(-i*2*pi*k*t),t,-0.5,0.5);
K=-10:1:10;
for ii=1:length(K)
xk2(ii)=limit(xk1,k,K(ii));
end
这样得到的结果就和第一种方法相同了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询