9--matlab数值微积分
- 格式:ppt
- 大小:336.50 KB
- 文档页数:27


第3章 MATLAB数值运算
教学提示:每当难以对一个函数进行积分或者微分以确定一些特殊的值时,可以借助
计算机在数值上近似所需的结果,从而生成其他方法无法求解的问题的近似解。这在计算
机科学和数学领域,称为数值分析。本章涉及的数值分析的主要内容有插值与多项式拟合、
数值微积分、线性方程组的数值求解、微分方程的求解等,掌握这些主要内容及相应的基
本算法有助于分析、理解、改进甚至构造新的数值算法。
教学要求:本章主要是让学生掌握数值分析中多项式插值和拟合、牛顿-科茨系列数值
求积公式、3种迭代方法求解线性方程组、解常微分方程的欧拉法和龙格-库塔法等具体的
数值算法,并要求这些数值算法能在MATLAB中实现。
3.1 多 项 式
在工程及科学分析上,多项式常被用来模拟一个物理现象的解析函数。之所以采用多
项式,是因为它很容易计算,多项式运算是数学中最基本的运算之一。在高等数学中,多
项式一般可表示为以下形式:12
0121()nnn
nnfxaxaxaxaxa−−
−=+++++…。当x是矩阵形式
时,代表矩阵多项式,矩阵多项式是矩阵分析的一个重要组成部分,也是控制论和系统工程
的一个重要工具。
3.1.1 多项式的表达和创建
在MATLAB中,多项式表示成向量的形式,它的系数是按降序排列的。只需将按降
幂次序的多项式的每个系数填入向量中,就可以在MATLAB中建立一个多项式。例如,
多项式
432
31529ssss+−−+
在MATLAB中,按下面方式组成一个向量
x = [1 3 -15 -2 9]
MATLAB会将长度为n+1的向量解释成一个n阶多项式。因此,若多项式某些项系数
为零,则必须在向量中相应位置补零。例如多项式
4
1s+
在MATLAB环境下表示为
y = [1 0 0 0 1]
3.1.2 多项式的四则运算
多项式的四则运算包括多项式的加、减、乘、除运算。下面以对两个同阶次多项式MATLAB基础及其应用教程
路漫漫其修远兮,吾将上下而求索 - 百度文库
1 符号极限、微积分和符号方程的求解
1.语法:
sym(‘表达式’) %创建符号表达式
f1=sym('a*x^2+b*x+c')
f1 = a*x^2+b*x+c
2.使用syms命令创建符号变量和符号表达式
语法:
syms arg1 arg2 …,参数 %把字符变量定义为符号变量的简洁形式
syms a b c x %创建多个符号变量 f2=a*x^2+b*x+c %创建符号表达式
3.4.1符号极限
假定符号表达式的极限存在,Symbolic Math Toolbox提供了直接求表达式极限的函数limit,函数limit的基本用法如表3.2所示。
表3.2 limit函数的用法
表达式 函数格式 说明
f(x)lim0x limt(f) 对x求趋近于0的极限
f(x)limax limt(f,x,a) 对x求趋近于a的极限,当左右极限不相等时极限不存在。
f(x)limax limt(f,x,a,
left) 对x求左趋近于a的极限
f(x)limax limt(f,x,a,
right) 对x求右趋近于a的极限
【例3.14】分别求1/x在0处从两边趋近、从左边趋近和从右边趋近的三个极限值。 路漫漫其修远兮,吾将上下而求索 - 百度文库
2 f=sym('1/x')
limit(f,'x',0) %对x求趋近于0的极限
ans = NaN limit(f,'x',0,'left') %左趋近于0
ans = -inf limit(f,'x',0,'right') %右趋近于0
ans = inf
程序分析:当左右极限不相等,表达式的极限不存在为NaN。
3.4.2符号微分
函数diff是用来求符号表达式的微分。
matlab中常见求积分函数的应用
在MATLAB中,有很多可用于求解积分的函数。以下是一些常见的积分函数以及它们在MATLAB中的应用:
1. `integral` 函数:此函数可以用于数值积分。它的语法如下所示:
```matlab
Q = integral(fun,a,b)
```
其中 `fun` 是一个指定要求积分的函数的函数句柄,`a` 和 `b` 是积分区间的下限和上限。`integral` 函数使用自适应方法来计算积分值,并返回计算得到的积分值 `Q`。
例如,假设要计算函数f(x)=x^2在区间[0,1]上的积分值,可以使用以下代码:
```matlab
a=0;
b=1;
Q = integral(fun, a, b);
```
2. `quad` 函数:`quad` 函数也是一种数值积分方法,可以用于计算函数在指定区间上的积分值。它的语法如下:
```matlab Q = quad(fun,a,b)
```
其中 `fun` 是一个指定要求积分的函数的函数句柄,`a` 和 `b` 是积分区间的下限和上限。`quad` 函数使用一种自适应的数值积分方法来计算积分值,并返回计算得到的积分值 `Q`。
例如,要计算函数f(x)=x^2在区间[0,1]上的积分值,可以使用以下代码:
```matlab
a=0;
b=1;
Q = quad(fun, a, b);
```
3. `trapz` 函数:`trapz` 函数用于计算函数在给定数据上的梯形积分值。它的语法如下:
```matlab
Q = trapz(x,y)
```
其中 `x` 是给定数据点的向量,`y` 是函数在这些数据点上的值。`trapz` 函数使用梯形法则来计算积分值,并返回计算得到的积分值 `Q`。 例如,要计算在[0,1]上等间隔数据点x=[0,0.2,0.4,0.6,0.8,1]上函数f(x)=x^2的积分值,可以使用以下代码:
1 第二章 MATLAB在微积分问题求解中的应用
2.1 微分问题的MATLAB求解
1. 函数作图
MATLAB函数画图可通过ezplot或fplot等函数实现。
1)ezplot
ezplot函数的调用格式如下
ezplot(f,[a,b])
功能:表示在区间[a,b]绘制y=f(x)的函数图,当区间缺省时默认区间[-2*pi,2*pi]。
ezplot(x,y,[tmin,tmax])
功能:在区间tmin < t < tmax上绘制参数方程x = x(t),y = y(t)的图形当区间缺省时默认区间[-2*pi,2*pi]。
例1
ezplot('sin(x)')
图2.1.1
例2 ezplot('t*cos(t)','t*sin(t)',[0,4*pi]) 2
图2.1.2
2) fplot
fplot 函数的调用格式如下
fplot(fun,lims)
功能:绘制函数fun在区间lims上的图形。
例3fplot('tan(x)',[-pi/4
pi/4])
图2.1.3
2 极限的符号运算
极限是高等数学中基本概念之一,在微积分中,很多概念是用极限定义的,例如导数和定积分。因此,掌握极限的运算对学好高等数学是极为重要的。在MATLAB中,极限的求 3 解可由limit函数来实现,limit函数的格式及功能见表2.2.1。
表2.2.1 1limit函数的格式及功能
MATLAB 函数名 函数功能
双
侧
极
限 limit(F,x,a) 计算
lim()xaFx
limit(F,x,inf) 计算
lim()xFx
limit(F) 计算 0lim()xFx
limit(F,a) 计算 lim()xaFx (x为默认自变量)
单
侧
极
限 limit(F,x,a, 'right') 计算 lim()xaFx
limit(F,x,a, 'left') 计算 lim()xaFx