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')

相关推荐
机器学习之心4 小时前
机器学习用于算法交易(Matlab实现)
算法·机器学习·matlab
曹勖之2 天前
UE 5 和simulink联合仿真,如果先在UE5这一端结束Play,过一段时间以后**Unreal Engine 5** 中会出现显存不足错误
matlab·ue5·机器人
曹勖之2 天前
simulink有无现成模块可以实现将三个分开的输入合并为一个[1*3]的行向量输出?
matlab
机器学习之心2 天前
Transformer-BiGRU多变量时序预测(Matlab完整源码和数据)
深度学习·matlab·transformer·bigru
slandarer3 天前
MATLAB | 绘图复刻(十九)| 轻松拿捏 Nature Communications 绘图
开发语言·matlab
【杨(_> <_)】3 天前
信号处理分析工具——时频分析(一)
算法·matlab·信号处理
曹勖之3 天前
在MATLAB中使用自定义的ROS2消息
开发语言·matlab·机器人·ros·simulink·ros2
我爱C编程3 天前
基于QPSK调制解调+Polar编译码(SCL译码)的matlab性能仿真,并对比BPSK
matlab·qpsk·polar编译码·scl译码
bubiyoushang8884 天前
matlab实现高斯烟羽模型算法
开发语言·算法·matlab
tyatyatya4 天前
MATLAB 中调整超参数的系统性方法
开发语言·matlab