matlab求上限带有变量的定积分

图片描述
情况如图,我想求出ds的表达式,应该是一个含有xs的表达式。并对ds作图,尝试过int和quad,都没有成功

clc;
clear;
A=[129.8665,-55.2435,1.7436,-297.3908;
    52.5130,-5.7480,0.7394,-128.6368;
    59.7245,393.9655,-0.1244,150.0184;
    -7.0125,34.5045,0.0284,-9.5229;
    -4.6130,18.3620,0.0113,-0.3924];
B=[0.2;0.2;225;1];
C=A*B;
a=C(1,1);
b=C(2,1);
smax=C(3,1);
p1=C(4,1);
p2=C(5,1);
syms t;
xs=[-a:a];
ts=2*b./sqrt(1-xs.^2/a^2);
ds=quadl(@(t)fx(t,xs,a,b,smax,p1,p2),0,ts)

fx.m

function f=fx(t,xs,a,b,smax,p1,p2)
f=smax./ts.*(1-xs.^2/a^2).^(p1-1).*(1-(-b*sqrt(1-xs.^2/a^2)+t).^2/(b^2*sqrt(1-xs.^2/a^2))).^(p2-1);
end
阅读 6k
1 个回答

换元 t = ts * z 后,会发现积分其实是个Beta函数。

$$ \array{ \text{原式} &=& \frac{d}{t_s}(1-\frac{x_s^2}{a^2})^{(\beta_x-1)} \int_{0}^{1} \! \left[1-\frac{(t_s z-t_s/2)^2}{(t_s/2)^2}\right]^{\beta_y-1} t_s\,\mathrm{d} z\\ &=& d\, (1-\frac{x_s^2}{a^2})^{(\beta_x-1)} \int_{0}^{1} \! [1-(2z-1)^2]^{\beta_y-1}\,\mathrm{d} z\\ &=& 4^{(\beta_y-1)}\, d\, (1-\frac{x_s^2}{a^2})^{(\beta_x-1)}\, \int_{0}^{1} \! z^{\beta_y-1} (1-z)^{\beta_y-1}\,\mathrm{d} z\\ &=& 4^{(\beta_y-1)}\, d\, \mathrm{Beta}(\beta_y, \beta_y)\, (1-\frac{x_s^2}{a^2})^{(\beta_x-1)} } $$

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题