matlab中带参数的定积分求解

 我来答
匿名用户
2017-05-02
展开全部

来个简单点的。

步长统一取0.01

代码如下:

>> clear

phi=[0:0.01:pi]';

r=sqrt(1.16-0.8*cos(phi));

beta=[-2:0.01:2]';


%计算矩阵K

for i=1:length(r)

for j=1:length(beta)

K(i,j)=sqrt(4*r(i)/((1+r(i))^2+beta(j)^2));

end

end


%计算被积函数,进而求出矩阵F(K)和E(K):

theta=0:0.01:pi/2;

for i=1:length(r)

for j=1:length(beta)

for k=1:length(theta)

f(i,j,k)=1./sqrt(1-K(i,j)^2*sin(theta(k)^2));

e(i,j,k)=sqrt(1-K(i,j)^2*sin(theta(k)^2));

end

end

end


%计算矩阵F(K)和E(K),以及M的被积函数m

for i=1:length(r)

for j=1:length(beta)

F(i,j)=sum(f(i,j,[1:length(theta)]))*0.01;

E(i,j)=sum(e(i,j,[1:length(theta)]))*0.01;

m(i,j)=(1-0.4*cos(phi(i)))/(K(i,j)*sqrt(r(i)^3))*(1-K(i,j)^2/2)*(F(i,j)-E(i,j));

end

end


%计算向量M

for j=1:length(beta)

M(j)=sum(m([1:length(r),j]))*0.01;

end


%作图

plot(beta,M)

计算结果见上传的文档


追问

感谢您的思路,之前一直用的积分函数,老是不行。试了一下,步长够小的情况下计算精度应该满足要求了。但最后图片不是想要的结果。我在您的思路的基础上,把beta改作最外层循环,得到了我想要的结果。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式