首页 > 编程知识 正文

matlab求微积分,matlab 微积分

时间:2023-05-04 12:13:40 阅读:268730 作者:4655

Matlab—微积分运算 1. 符号方法1.1 极限1.2 求导1.3 偏导1.4 积分 2. 数值方法2.1 梯度2.2 定积分2.3 高精度数值积分2.4 重积分2.5 计算椭圆的周长

1. 符号方法 1.1 极限


代码求解

syms n x; % 定义 n x 为符号变量limit((1+x/n)^n,n,inf) % 求n趋向于正无穷时的极限 1.2 求导

1.2.1

代码求解

syms x; % 定义 x 为符号变量y=(1-cos(2.*x))./x;dx1=diff(y) % 求函数的一阶导数dx2=diff(y,2) % 求函数的二阶导数

1.2.2

代码求解

f=inline('(sin(x)).^2+(cos(x)).^2'); % 定义函数dx1=diff(f([pi./6,0.001+pi./6]))./0.001dx2=diff(f([pi./4,0.001+pi./4]))./0.001dx3=diff(f([pi./3,0.001+pi./3]))./0.001dx4=diff(f([pi./2,0.001+pi./2]))./0.001

1.2.3

代码求解

f=inline('(x.^2+1).^(0.5)'); % 定义函数dx1=diff(f([1,0.001+1]))./0.001dx2=diff(f([2,0.001+2]))./0.001dx3=diff(f([3,0.001+3]))./0.001 1.3 偏导

1.3.1

代码求解

syms x y; % 定义 x y 为符号变量f=x^2*exp(-y) % f为括号内的函数s=diff(f,x,2) % f对x的2阶导函数t=diff(f,x); % f对x的导函数t=diff(t,y); % t对y的导函数t=subs(t,x,1); % 将t中的变量x替换为变量1t=subs(t,y,2) % 将t中的变量y替换为变量2

1.3.2

代码求解

syms x y;s=diff(y^2*sin(x^2),x,2) % 对x的2阶导函数

1.3.3

代码求解

syms x y;t=diff(y^2*sin(x^2),x,2);t=diff(t,y)

1.3.4

代码求解

syms x y;t=diff(y^2*sin(x^2),x,2);t=diff(t,y);t=subs(t,x,pi)t=subs(t,y,1) 1.4 积分

1.4.1

代码求解

syms t; % 定义 t 为符号变量f=exp(-t)+sin(t); % f为括号内的函数s=int(f,t) % f关于变量t的不定积分

1.4.2

代码求解

syms x ; % 定义 x 为符号变量F=3*sin(x^2) /x; % F为待定积分f=int(F,1,4) % 求F在1-4区间内的定积分,特殊函数sinint(a)表示积分int(sin(a*x) /x,0,1)D=vpa(f,5) % 用vpa找数值解

1.4.3

代码求解

syms x y; % 定义 x 为符号变量F=int(2*sqrt(1-x^2),y,- sqrt(1-x^2), sqrt(1-x^2)); % 求不定积分f=int(F,x,-1,1) % 求F在1-3区间内的定积分,

1.4.4

代码求解

syms x;f=1./(1+x.^4+x.^8);q=int(f)

1.4.5

代码求解

syms x;f=1./((asin(x).^2).*sqrt(1-x.^2));q=int(f)

1.4.6

代码求解

syms x;f=exp(x).*(1+exp(x)).^2;q=int(f)

1.4.7

代码求解

syms x y;iy=int((x+y-x*y),y,0,1-x);q=int(iy,x,0,1)

1.4.8

代码求解

syms u v r;iy=int(r^2*sin(v),r,0,2^0.5);iiy=int(iy,v,0,pi/4);q=int(iiy,u,0,2*pi) 2. 数值方法 2.1 梯度


代码求解

xa=-2:1:2;ya=-2:1:2;[x,y]=meshgrid(xa,ya);z=x.*exp(-x.^2-y.^2);[px,py]=gradient(z,xa,ya) 2.2 定积分

2.2.1

代码求解

t=0:0.5:1;y=exp(-t)+sin(t);z=trapz(t,y) % t是表示积分区间的离散化向量,y是与t同维数的向量,表示被积函数;z为返回积分的近似值(梯形积分法)

2.2.2

代码求解

x=1:0.05:4;y=3.*sin(x.^2)./x;z=trapz(x,y) % x是表示积分区间的离散化向量,y是与x同维数的向量,表示被积函数;z返回积分的近似值(梯形积分法) 2.3 高精度数值积分

2.3.1

代码求解

z=quadl(@(t)exp(-t)+sin(t),0,1) % 函数在区间[0,1]上的定积分(高精度Lobatto积分法)

2.3.2

代码求解

z=quadl(@(x)3.*sin(x.^2)./x,1,4) % 函数在区间[1,4]上的定积分(高精度Lobatto积分法)

2.3.3

代码求解

z= integral (@(x)exp(-x.^2),-1,1) % 函数在区间[-1,1]上的定积分

2.3.4

代码求解

fun= @(x)exp(-x.^2) .*log(x).^2;q=integral(fun,0,Inf) % 函数在区间[0,inf]上的定积分

2.3.5

代码求解

f=inline('(cos(t.^2)+4.*sin((2.*t).^2)+1).^(1/2)','t');isim=quadl(f,0,2*pi)

2.3.6

代码求解

f=inline('(log(1+x))./(1+x.^2)','x');isim=quadl(f,0,1)

2.3.7

代码求解

f=inline('exp(x).*(1+exp(x)).^2','x');isim=quadl(f,0,log(2)) 2.4 重积分

2.4.1

代码求解

f=@(x,y)2.*(1-x.^2).^0.5;q=quad2d(f,-1,1,@(x)(-1).*(1-x.^2).^0.5,@(x)(1-x.^2).^0.5) % 函数在区间[-1,1]上的二重积分

2.4.2

代码求解

f=@(x,y)x+y-x.*y;q=quad2d(f,0,1,0,@(x)(1-x))

2.4.3

代码求解

f=@(t,y,z)y.*sin(t)+z.*cos(t);q=triplequad(f,0,pi,0,1,-1,1) % 函数在区间[0,pi],[0,1],[-1,1]上的三重积分

2.4.4

代码求解

fun=@(u,v,r)(r.^2).*sin(v)+0.*u;q=triplequad(fun,0,2*pi,0,pi/4,0,2^0.5) 2.5 计算椭圆的周长


转化为积分形式

代码求解

s=quadl(@(x)2.*((16+5.*x.^2)./(4-x.^2)).^0.5,0,2)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。