基于MATLAB的极限与求导(附完整代码) |
您所在的位置:网站首页 › 关于t的二阶导数怎么求 › 基于MATLAB的极限与求导(附完整代码) |
一. 极限问题的解析解
1.1 单变量函数的极限
MATLAB格式: L=limit(fun,x,x_0)我们知道数学中极限有两种形式: 所以,MATLAB中格式为: L=limit(fun,x,x0,'left') L=limit(fun,x,x0,'right') 例题1求解极限问题: 解: 代码: clc;clear; syms x a b; f=x*(1+a/x)^x*sin(b/x); L=limit(f,x,inf)运行结果: L =b*exp(a) 例题2求解单边极限问题: 解: 代码如下: clc;clear; syms x; limit((exp(x^3)-1)/(1-cos(sqrt(x-sin(x)))),x,0,'right') %在(-0.1,0.1)区间绘制出函数曲线 x=-0.1:0.001:0.1; y=(exp(x.^3)-1)./(1-cos(sqrt(x-sin(x)))); plot(x,y,'-',[0],[12],'o')运行结果: ans =12 MATLAB格式: %格式1 L1=limit(limit(f,x,x0),y,y0) %格式2 L2=limit(limit(f,y,y0),x,x0)如果x0或y0不是确定的值,而是另一个变量的函数,如x=g(y),则上述的极限求取顺序不能随意改变。 例题3求出二元函数极限值 解: MATLAB代码: clc;clear; syms x y a; f=exp(-1/(y^2+x^2))*sin(x)^2/x^2*(1+1/y^2)^(x+a^2*y^2); L=limit(limit(f,x,1/sqrt(y)),y,inf)运行结果: L =limit(y^(1 - 2*a^2*y^2 - 2/y^(1/2))*sin(1/y^(1/2))^2*exp(-y/(y^3 + 1))*(y^2 + 1)^(1/y^(1/2) + a^2*y^2), y, Inf) 二. 导数的解析解 2.1 单变量函数函数的导数与高阶导数: MATLAB格式: y=diff(fun,x) %求导数 y=diff(fun,x,n) %求n阶导数 例题4函数f(x): 求该函数的各阶导数。 解: MATLAB代码: clc;clear; syms x; f=sin(x)/(x^2+4*x+3); %一阶导数 f1=diff(f); pretty(f1) %原函数及一阶导数图 x1=0:.01:5; y=subs(f,x,x1); y1=subs(f1,x,x1); plot(x1,y,x1,y1,':') %原函数的4阶导数 f4=diff(f,x,4); pretty(f4) %更高阶导数 tic,diff(f,x,100);toc %运算会比较慢运行结果: 2.2 多元函数的偏导 已知二元函数f(x,y),则偏导数学形式如下: MATLAB格式: %格式1 f=diff(diff(f,x,m),y,n) %格式2 f=diff(diff(f,y,n),x,m) 例题5求此函数的偏导数并用图表示。 解: MATLAB代码: clc;clear; syms x y; z=(x^2-2*x)*exp(-x^2-y^2-x*y); %对x偏导 zx=simplify(diff(z,x)) %对y偏导 zy=diff(z,y) %直接绘制三维曲面 [x,y]=meshgrid(-3:.2:3,-2:.2:2); z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); surf(x,y,z),axis([-3 3 -2 2 -0.7 1.5]) %绘制等值线 figure, contour(x,y,z,30),hold on zx=-exp(-x.^2-y.^2-x.*y).*(-2*x+2+2*x.^3+x.^2.*y-4*x.^2-2*x.*y); zy=-x.*(x-2).*(2*y+x).*exp(-x.^2-y.^2-x.*y); %偏导的数值解 hold on, quiver(x,y,zx,zy)运行结果: 例题6 已知f(x,y,z): 求解如下偏导: 解: MATLAB代码: clc;clear; syms x y z; f=sin(x^2*y)*exp(-x^2*y-z^2); df=diff(diff(diff(f,x,2),y),z); df=simplify(df); pretty(df)运行结果: 给定函数 该函数的Jacobi矩阵J如下: MATLAB格式: J=jacobian(Y,X) %X是自变量构成的向量 %Y是由各个函数构成的向量 例题7推导以下函数的Jacobi矩阵: 解: MATLAB代码: clc;clear; syms r theta phi; x=r*sin(theta)*cos(phi); y=r*sin(theta)*sin(phi); z=r*cos(theta); J=jacobian([x;y;z],[r theta phi])运行结果: J = [ cos(phi)*sin(theta), r*cos(phi)*cos(theta), -r*sin(phi)*sin(theta)] [ sin(phi)*sin(theta), r*cos(theta)*sin(phi), r*cos(phi)*sin(theta)] [ cos(theta), -r*sin(theta), 0] |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |