matlab 求积分

matlab 求积分,第1张

题主给出的积分函数,用matlab 求解,可以这样做

1、确定x在【-300,300】中,取若干个x(i)数据,如

x=-300:10:300

2、扮碰凳使用for循环语句,将x(i)代入积分函数I(x)中,使用int函数计算其积分值,同吵行时将值赋值给Ix数组变量中

for n=1:600/t+1

syms x

A_1=int(cos((pi*(x^2))/2),x,a1(1,n),a2(1,n))

A_2=int(sin((pi*(x^2))/2),x,a1(1,n),a2(1,n))

Ix(n)=1000*(lambda/(2*L))*((A_1)^2+(A_2)^2)

end

3、最后用厅旅plot函数,绘出其x—I(x)的图形

运行程序,可以得到如下结果。

Matlab计算定积分的具体步骤如下:

1、以f(x)=e^2x+sin(x+π/3)  ,积分下限:a=0,积分上限:b=π/4  为例。首先,建立被积函数M文件;点击New,选择Function;

2、在编辑器中输入指令:function f=f(x);f=exp(2*x).*sin(x+pi/3)(注意,用  .* )

3、保存函数文件到自己的工喊老者作路径,比如G:\matlab\work。

输入指令:cd G:\matlab\work,是该路径成为当郑薯前路径。

4、matlab中计算积分的两种指令:

1.F=quad('fname',a,b,tol,trace)        Simpson数值积分法

2.F=quad8('fname',a,b,tol,trace)     Newton-Cotes数值积分法

其中: fname是被积函数表达式或函数名,a,b分别是上下限,tol可以控制积分精度,省略则取0.001;trace=1则用图形表示积分过程,trace=0,没有图形。

两者 比较含悉,quad8精度更高。

5、调用积分函数squad进行计算。输入指令: F=quad('f(x)',0,pi/4),如图,回车后可得到计算结果1.8612。其他函数,只要修改函数文件中的表达式即可。

你好!大神在此!

主程序宽首燃:

%matlab编写积分程序请问哪位大神能编写下面的程序:不胜感激

clcclear all

global t

R=1:0.01:5

m=zeros(size(R))

for i=1:length(R)

  芹洞  t=R(i)

    m(i)=integral2(@f,0,R(i),0,2*pi)

end

plot(R,m)

xlabel('R')

ylabel('m')

title('m-R 慎虚Curve')

函数程序:

function c=f(r,theta)

global t

c=r.*sqrt((t*cos(theta)-r).^2+t^2*(sin(theta)).^2)

end

画出效果:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8195069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存