MATLAB 微积分

MATLAB 微积分

MATLAB提供了多种方法来解决微分和积分问题,求解任意程度的微分方程式以及计算极限。最重要的是,您可以轻松求解复杂函数的图,并通过求解原始函数及其导数来检查图上的最大值,最小值和其他文具点。

本章将讨论微积分的问题。在本章中,我们将讨论预演算的概念,即计算函数的极限并验证极限的性质。

在下一章微分中,我们将计算一个表达式的导数,并求出图的局部极大值和极小值。我们还将讨论求解微分方程。

最后,在"积分"一章中,我们将讨论积分演算。

计算极限

MATLAB提供了limit用于计算极限的函数。limit函数以其最基本的形式将表达式作为参数,并在自变量变为零时找到表达式的极限。

例如,让我们计算函数的极限f(x)=(x 3 + 5)/(x 4 + 7),因为x趋于零。

syms x

limit((x^3 + 5)/(x^4 + 7))

MATLAB将执行上述语句并返回以下结果-

ans =

5/7

极限函数属于符号计算领域。您需要使用syms函数来告诉MATLAB您正在使用哪些符号变量。您还可以计算函数的极限,因为变量趋向于除零以外的某个数字。为了计算lim x-> a(f(x)),我们使用带参数的limit命令。第一个是表达式,第二个是x逼近的数字,这里是a。

例如,让我们计算函数的极限f(x)=(x-3)/(x-1),因为x趋于1。

limit((x - 3)/(x-1),1)

MATLAB将执行上述语句并返回以下结果-

ans =

NaN

让我们再举一个实例

limit(x^2 + 5, 3)

MATLAB将执行上述语句并返回以下结果-

ans =

14

使用Octave计算极限

以下是使用symbolic包的上述示例的Octave版本,请尝试执行并比较结果-

pkg load symbolic

symbols

x = sym("x");

subs((x3+5)/(x4+7),x,0)

Octave将执行以上语句并返回以下结果-

ans =

0.7142857142857142857

极限基本属性的验证

代数极限定理提供了极限的一些基本性质。这些如下-

极限的基本属性

让我们来看两个函数-

f(x) =(3x + 5)/(x-3)

g(x)= x 2 +1。

让我们计算两个函数的x趋于5的函数极限,并使用这两个函数和MATLAB验证极限的基本属性。

实例

创建一个脚本文件并在其中键入以下代码-

syms x

f = (3x + 5)/(x-3);
g = x^2 + 1;
l1 = limit(f, 4)
l2 = limit (g, 4)
lAdd = limit(f + g, 4)
lSub = limit(f - g, 4)
lMult = limit(f
g, 4)

lDiv = limit (f/g, 4)

运行文件时,它显示-

l1 =

17

l2 =

17

lAdd =

34

lSub =

0

lMult =

289

lDiv =

1

使用Octave验证极限的基本属性

以下是使用symbolic包的上述示例的Octave版本,请尝试执行并比较结果-

pkg load symbolic

symbols

x = sym("x");

f = (3*x + 5)/(x-3);

g = x^2 + 1;

l1 = subs(f, x, 4)

l2 = subs (g, x, 4)

lAdd = subs (f+g, x, 4)

lSub = subs (f-g, x, 4)

lMult = subs (f*g, x, 4)

lDiv = subs (f/g, x, 4)

Octave将执行以上语句并返回以下结果-

l1 =

17.0

l2 =

17.0

lAdd =

34.0

lSub =

0.0

lMult =

289.0

lDiv =

1.0

左右限位

当函数对某个特定值的变量具有不连续性时,此时不存在限制。换句话说,函数的极限f(x)在x = a处具有不连续性,这是因为当x的值从左侧接近x时,极限值不等于x的值从右侧接近时x极限值。

这导致了左手和右手极限的概念。左手极限定义为从x左边开始的极限,即x-> a,即x接近a时,x <a的值。右手极限定义为从右开始x-> a的极限,即对于x> a的值,x接近a。当左手极限和右手极限不相等时,该极限不存在。

让我们看一个函数-

f(x) = (x - 3)/|x - 3|

我们将显示lim x-> 3 f(x)不存在。MATLAB通过两种方式帮助我们建立这一事实-

通过绘制函数图并显示不连续性。

通过计算极限并显示两者是不同的。

左手和右手极限是通过将字符串" left"和" right"作为最后一个参数传递给limit命令来计算的。

实例

创建一个脚本文件并在其中键入以下代码-

f = (x - 3)/abs(x-3);

ezplot(f,[-1,5])

l = limit(f,x,3,'left')

r = limit(f,x,3,'right')

相关推荐
rit84324996 小时前
有限元法求转子临界转速的MATLAB实现
开发语言·matlab
Matlab程序设计与单片机7 小时前
【机器人最短路径规划】基于标准蚁群算法
matlab·蚁群算法·路径规划问题
Marye_爱吃樱桃7 小时前
MATLAB R2024b的安装、简单设置——保姆级教程
开发语言·matlab
IT猿手19 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
Evand J1 天前
【MATLAB复现RRT(快速随机树)算法】用于二维平面上的无人车路径规划与避障,含性能分析与可视化
算法·matlab·平面·无人车·rrt·避障
s09071361 天前
【声纳成像】基于滑动子孔径与加权拼接的条带式多子阵SAS连续成像(MATLAB仿真)
开发语言·算法·matlab·合成孔径声呐·后向投影算法·条带拼接
IT猿手1 天前
基于 ZOH 离散化与增量 PID 的四旋翼无人机轨迹跟踪控制研究,MATLAB代码
开发语言·算法·matlab·无人机·动态路径规划·openclaw
IT猿手1 天前
基于控制障碍函数(Control Barrier Function, CBF)的无人机编队三维动态避障路径规划,MATLAB代码
开发语言·matlab·无人机·动态路径规划·无人机编队
SugarFreeOixi1 天前
MATLAB绘图风格记录NP类型
python·matlab·numpy
IT猿手1 天前
基于 CBF 的多无人机编队动态避障路径规划研究,无人机及障碍物数量可以自定义修改,MATLAB代码
开发语言·matlab·无人机·动态路径规划