为什么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); 展开
 我来答
湛易云0ib
2019-06-18 · TA获得超过6193个赞
知道大有可为答主
回答量:7479
采纳率:87%
帮助的人:367万
展开全部


其实,你仔细观察一下会发现,用第二种方法得到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

这样得到的结果就和第一种方法相同了。




推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式