matlab编写积分程序

matlab编写积分程序,第1张

你好!大神在此!

主程序宽首燃:

%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

画出效果:

感觉不需亮大要使用m文件,根据你洞和给的代码,函数f(x)的参数x没有作用啊。具纳键盯体需求是什么?

下面是求积分

f=@(x) exp(0.5*x).*sin(x+pi/6)

s=quad(f,0,pi)

1、使用int函数,函数由integrate缩写而圆或拆来,int 函数表达式,变量,积分上限,积分下限。

2、比如求一个Fx = a*x^2,在区间(m,n)对x进行积分,

首先要将 m,x,a,b 这四个变量定义为符号变量

syms m x a b

Fx = a*x^2

int(Fx,x,m,n)

3、通过上面这个方法,就能够求得任意橘枣一个函数在给定区间的积分,如果想看到书写的格式,可以用pretty命令,这样显示更接近平常的表示方法。

1、在matlab中,积分运算有多种方式,为了便于查看不同方式处理异同,以下面这个积分为例:

2、梯形积分法

第一种,采用最简单的方式,以函数trapz为例,z = trapz(x,y) 其中x表示积分区间的离散化向量,y是与x同维数的向量,表示被积函数,z是返回的积分近似值。

clc,clear。

% 梯形积分法

x = -1:0.001:1,

y = exp(-x.^2),

s = trapz(x,y)

% 计算结果: s =  1.4936

3、高精度数值积分(1)

为了克服梯形积分法精度低的问题,可以采用高精度积分方式,第一种可以采用 z = quad(Fun,a,b) 该方式是自适应步长Simpson计分法求得函数Fun在区间[a,b]上定积分,如下:

clcclear

% 梯形积分法

s = quad(inline('exp(-x.^2)'),-1,1)

% 计算结果: s =  1.4936

4、高精度数据积分(2)

采用高精度Lobatto积分法,格式: z = quadl(Fun,a,b)

clcclear

% 梯形积分团好法

s = quadl(inline('exp(-x.^2)'),-1,1)

% 计算结果: s =  1.4936


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

原文地址: http://outofmemory.cn/yw/12449144.html

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

发表评论

登录后才能评论

评论列表(0条)

保存