西南科技大学网络教育系列课程 数学软件 数学软件 第5讲 MATLAB数值计算二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.

Slides:



Advertisements
Similar presentations
高等数学( XJD ) 第二章 导数与微分 返回 高等数学( XAUAT ) 高等数学( XJD ) 求导法则 基本公式 导 数 导 数 微 分微 分 微 分微 分 求导方法 高阶导数 微分法则 导数与微分关系图导数与微分关系图.
Advertisements

一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
第二章 导数与微分 习题课 主要内容 典型例题 测验题. 求 导 法 则求 导 法 则 求 导 法 则求 导 法 则 基本公式 导 数 导 数 微 分微 分 微 分微 分 高阶导数 高阶微分 一、主要内容.
目录 上页 下页 返回 结束 习题课 一、导数和微分的概念及应用 二、导数和微分的求法 导数与微分 第二章.
第九章 常微分方程数值解法 §1 、引言. 微分方程的数值解:设方程问题的解 y(x) 的存在区间是 [a,b] ,令 a= x 0 < x 1
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
高等数学一 主讲 杨俊 演示文稿制作 杨俊. 高等数学一 第 3 章 一元函数微分学的应用 第 4 章 一元函数 积分学及应用 第 1 章 函数、极限与连续 第 2 章 导数与微分.
第 4 章 数值微积分. 4.1 内插求积 Newton-Cotes 公式 第 4 章 数值微积分 4.1 内插求积 Newton-Cotes 公式.
一、会求多元复合函数一阶偏导数 多元复合函数的求导公式 学习要求: 二、了解全微分形式的不变性.
2.6 隐函数微分法 第二章 第二章 二、高阶导数 一、隐式定义的函数 三、可微函数的有理幂. 一、隐函数的导数 若由方程 可确定 y 是 x 的函数, 由 表示的函数, 称为显函数. 例如, 可确定显函数 可确定 y 是 x 的函数, 但此隐函数不能显化. 函数为隐函数. 则称此 隐函数求导方法.
计算机数学基础(下) --数值分析 教师:孙继荣 电话: 028 -
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
1 、牛顿 - 莱布尼兹公式 另外若给出的函数 f(x) 是数据表,也不好求函数的积分。 计算定积分的方法: 但是求函数 f(x) 的原函数 F(x) 不一定比计算积分容易, 例如函数 找不到用初等函数表示的原函数。 一、数值求积的基本思想 实验 4 数值积分与微分 主讲人:魏志强.
第二章 导数与微分 一. 内 容 要 点 二. 重 点 难 点 三. 主 要 内 容 四. 例 题与习题.
第二章 导数与微分. 二、 微分的几何意义 三、微分在近似计算中的应用 一、 微分的定义 2.3 微 分.
全微分 教学目的:全微分的有关概念和意义 教学重点:全微分的计算和应用 教学难点:全微分应用于近似计算.
一、能线性化的多元非线性回归 二、多元多项式回归(线性化)
一、二阶行列式的引入 用消元法解二元线性方程组. 一、二阶行列式的引入 用消元法解二元线性方程组.
恰当方程(全微分方程) 一、概念 二、全微分方程的解法.
高等数学电子教案 第五章 定积分 第三节 微积分基本定理.
第3章 MATLAB数值计算 2017/9/9.
第五节 微积分基本公式 、变速直线运动中位置函数与速度 函数的联系 二、积分上限函数及其导数 三、牛顿—莱布尼茨公式.
一、原函数与不定积分 二、不定积分的几何意义 三、基本积分公式及积分法则 四、牛顿—莱布尼兹公式 五、小结
第二节 微积分基本公式 1、问题的提出 2、积分上限函数及其导数 3、牛顿—莱布尼茨公式 4、小结.
第四章 定积分及其应用 4.3 定积分的概念与性质 微积分基本公式 定积分的换元积分法与分部积分法 4.5 广义积分
定积分性质和微积分学基本定理 一、 定积分性质 二、 变上限积分函数 三、 定积分基本公式.
第四章 函数的积分学 第六节 微积分的基本公式 一、变上限定积分 二、微积分的基本公式.
定积分的换元法 和分部积分法 换元公式 分部积分公式 小结 1/24.
§5.3 定积分的换元法 和分部积分法 一、 定积分的换元法 二、 定积分的分部积分法 三、 小结、作业.
第四章 一元函数的积分 §4.1 不定积分的概念与性质 §4.2 换元积分法 §4.3 分部积分法 §4.4 有理函数的积分
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
第四节 一阶线性微分方程 线性微分方程 伯努利方程 小结、作业 1/17.
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
第三章 导数与微分 习 题 课 主要内容 典型例题.
第5章 §5.3 定积分的积分法 换元积分法 不定积分 分部积分法 换元积分法 定积分 分部积分法.
计算机数学基础 主讲老师: 邓辉文.
高等数学 西华大学应用数学系朱雯.
第六章 计算方法  非线性方程求解 多项式插值与曲线拟合 数值微分与数值积分 求常微分方程数值解命令.
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
1.5 函数y=Asin(ωx+φ)的图象.
概 率 统 计 主讲教师 叶宏 山东大学数学院.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
实验一 计算复变函数极限、微分、积分、 留数、泰勒级数展开式 (一) 实验类型:验证性 (二) 实验类别:基础实验
第8章 MATLAB数值积分与微分 8.1 数值积分 8.2 数值微分
MATLAB数学实验 第五章 应用微积分.
第4章 Excel电子表格制作软件 4.4 函数(一).
3.1 变化率与导数   3.1.1 变化率问题 3.1.2 导数的概念.
第6章 MATLAB数据分析与多项式计算 6.1 数据统计处理 6.2 数据插值 6.3 曲线拟合 6.4 离散傅立叶变换
概 率 统 计 主讲教师 叶宏 山东大学数学院.
第一节 不定积分的概念与性质 一、原函数与不定积分的概念 二、不定积分的几何意义 三、基本积分表 四、不定积分的性质 五、小结 思考题.
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
一 般 的 代 数 方 程 函数solve用于求解一般代数方程的根,假定S为符号表达式,命令solve (S)求解表达式等于0的根,也可以再输入一个参数指定未知数。例: syms a b c x S=a*x^2+b*x+c; solve(S) ans = [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]
建模常见问题MATLAB求解  .
一元二次不等式解法(1).
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
2019/5/20 第三节 高阶导数 1.
§2 方阵的特征值与特征向量.
人教A版 必修一 3.1·函数与方程 方程的根与函数的零点.
第三部分 积分(不定积分 + 定积分) 在课程简介中已经谈到, 高等数学就是微积分(微分 + 积分). 第二部分已经学习了函数的导数和微分, 这一部分内容是“积分”. 由此可见,这一部分内容在本课程中的重要地位. 积分就是讨论导数的逆问题: 给定了函数f(x),哪些函数的导数就是f(x)? “积分”包括了不定积分和定积分,它们也是每个学习高等数学的人必须掌握的内容.
定义5 把矩阵 A 的行换成同序数的列得到的矩阵,
第三章 从概率分布函数的抽样 (Sampling from Probability Distribution Functions)
教学大纲(甲型,54学时 ) 教学大纲(乙型, 36学时 )
第10章 代数方程组的MATLAB求解 编者.
西南科技大学网络教育系列课程 数学软件 数学软件 第7讲 MATLAB符号计算二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
§4.5 最大公因式的矩阵求法( Ⅱ ).
第一节 不定积分的概念与性质 原函数与不定积分的概念 基本积分表 不定积分的性质 小结、作业 1/22.
Presentation transcript:

西南科技大学网络教育系列课程 数学软件 数学软件 第5讲 MATLAB数值计算二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系

5.5 傅立叶分析 5.6 数值微积分 5.7 常微分方程的数值求解 5.8 非线性方程的数值求解 5.9 稀疏矩阵

5.1 傅立叶分析 MATLAB中,提供了对向量(或直接对矩阵的行或列)进行离散傅立叶变换的函数,其调用格式是: Y=fft(X,n,dim) (1)当X是一个向量时,返回对X的离散傅立叶变换。 (2)当X是一个矩阵时,返回一个矩阵并送Y,其列(行)是对X的列(行)的离散傅立叶变换。

例5.1 求X=(1,0,-3,5,2)的离散傅立叶逆变换。 在MATLAB命令窗口,输入命令: X=[1,0,-3,5,2]; Y=fft(X) %对X进行变换 3. 离散傅立叶变换的逆变换 MATLAB中,对向量(或直接对矩阵的行或列)进行离散傅立叶逆变换的函数的调用方法是: Y=ifft(X,n,dim) 函数对X进行离散傅立叶逆变换。其中X、n、dim的意义及用法和离散傅立叶变换函数fft完全相同。

例5.2 对矩阵A的列向量、行向量分别进行离散傅立叶变换、并对变换结果进行逆变换。 命令如下: A=[3,2,1,1;-5,1,0,1;3,2,1,5]; fftA=fft(A) %求A的列向量的傅立叶变换 fftA2=fft(A,4,2) %求A的行向量的傅立叶变换 ifft(fftA) %对矩阵fftA的列向量进行傅立叶逆变换,结果应等于A ifft(fftA2,4,2) %对矩阵fftA2的行向量进行傅立叶逆变换,其结果应等于A

5.2 数值微积分 5.2.1 数值微分 MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数。 DX=diff(X) 计算向量X的向前差分,DX(i)=X(i+1)-X(i),0<i<n。 DX=diff(X,n) 计算X的n阶向前差分,diff(X,2)=diff(diff(X))。 DX=diff(A,n,dim) 计算矩阵A的n阶差分,dim=1时(缺省状态),按列计算差分,dim=2,按行计算差分。

例5.3 求向量sin(X)的1~3阶差分。设X由[0,2π]间均匀分布的10个点组成。 命令如下: X=linspace(0,2*pi,10); Y=sin(X); DY=diff(Y); %计算Y的一阶差分 D2Y=diff(Y,2); %计算Y的二阶差分,也可用命令diff(DY)计算 D3Y=diff(Y,3); %计算Y的三阶差分,也可用diff(D2Y)或diff(DY,2)

例5.4 用不同的方法求函数f(x)的数值导数,并在同一个坐标系中做出f'(x)的图象。 程序如下: f=inline('sqrt(x.^3+2*x.^2-x+12)+(x+5).^(1/6)+5*x+2'); g=inline('(3*x.^2+4*x-1)./sqrt(x.^3+2*x.^2-x+12)/2+1/6./(x+5).^(5/6)+5'); x=-3:0.01:3; p=polyfit(x,f(x),5); %用5次多项式p拟合f(x) dp=polyder(p); %对拟合多项式p求导数dp dpx=polyval(dp,x); %求dp在假设点的函数值 dx=diff(f([x,3.01]))/0.01; %直接对f(x)求数值导数 gx=g(x); %求函数f的导函数g在假设点的导数 plot(x,dpx,x,dx,'g.',x,gx,'r-'); %作图

5.2.2数值积分 (1)被积函数是一个解析式 函数quad(f,a,b,tol,trace)用于求被积函数f(x)在[a,b]上的定积分,tol是计算精度,缺省值是0.001。trace非0时,画出积分图形。注意,调用quad函数时,先要建立一个描述被积函数f(x)的函数文件或语句函数。当被积函数f含有一个以上的变量时,quad函数的调用格式为: quad(f,a,b,tol,trace,g1,g2) 其中f,a,b,tol,trace等参数的含义同前。 数值积分函数还有一种形式quad8,其用法与quad完全相同。

例5.5 用两种不同的方法求积分。 先建立一个函数文件ex.m: function ex=ex(x) ex=exp(-x.^2); %注意应用点运算 return 然后,在MATLAB命令窗口,输入命令: quad('ex',0,1,1e-6) %注意函数名应加字符引号 quad8('ex',0,1,1e-6) %用另一函数求积分

例5.6用trapz函数计算积分。 在MATLAB命令窗口,输入命令: X=0:0.01:1;Y=exp(-X.^2); trapz(X,Y) (2)被积函数由一个表格定义 MATLAB中,对由表格形式定义的函数关系的求定积分问题用trapz(X,Y)函数。其中向量X、Y定义函数关系Y=f(X)。

(3)二重积分 例5.8计算二重积分。 建立一个函数文件fixy.m: function f=f(x,y) f=exp(-x.^2-y.^2); return 建立一个命令文件ftxy1.m: for i=1:20 int2(i)=quad('fixy',0,1,[],[],x(i)); %在二维函数fixy中以x=x(i)代入并对y积分。 end 在MATLAB命令窗口,输入命令: x=linspace(0,1,20); ftxy1 trapz(x,int2)

实际上,MATLAB提供了计算二重积分的函数: dblquad(f,a,b,c,d,tol,trace) 该函数求f(x,y)在[a,b]×[c,d]区域上的二重积分。参数tol,trace的用法与函数quad完全相同。 如果直接使用这里介绍的二重积分函数dblquad来求解本例就非常简单,命令如下: g=inline('exp(-x.^2-y.^2)'); dblquad(g,0,1,0,1) %直接调用二重积分函数求解

5.3 常微分方程的数值求解 基于龙格-库塔法,MATLAB提供了求常微分方程数值解的函数,一般调用格式为: [X,Y]=ode23(f,[x0,xn],y0) [X,Y]=ode45(f,[x0,xn],y0) 其中X、Y是两个向量,X对应自变量x在求解区间[x1,xn]的一组采样点,其采样密度是自适应的,无需指定;Y是与X对应的一组解,f是一个函数,[x0,xn]代表自变量的求解区间,y0=y(x0),由方程的初值给定。函数在求解区间[x0,xn]内,自动设立采样点向量X,并求出解函数y在采样点X处的样本值。

例5.7 求微分方程初值问题在[1,3]区间内的数值解,并将结果与解析解进行比较。 先建立一个该函数的m文件fxy1.m: function f=f(x,y) f=-2.*y./x+4*x %注意使用点运算符 return 再输入命令: [X,Y]=ode45('fxy1',[1,3],2); X' %显示自变量的一组采样点 Y' %显示求解函数与采样点对应的一组数值解 (X.^2+1./X.^2)' %显示求解函数与采样点对应的一组解析解

例5.8 求解初值问题在区间[0,2]中的解。 建立一个函数文件 fxy2.m: function f=f(x,y) f(2)=-x.*y(2)+x.^2-5; f(1)=y(2); f=f'; return 在MATLAB命令窗口,输入命令: [X,Y]=ode45('fxy2',[0,2],[5,6]); [X,Y]

5.4 非线性方程的数值求解 1.单变量非线性方程求解 MATLAB中,提供了求解单变量方程的函数fzero(f,x0,tol),该函数采用迭代法计算函数f(x)的一个零点,迭代初值为x0,当两次迭代结果小于tol时停止迭代过程。tol的缺省值是eps。 注意,在调用函数fzero 之前,要使用m文件建立自己要计算的函数f(x),只有定义了函数f(x)的m文件后,才能在fzero函数的参数中使用自定义函数名。

例5.9 求f(x)=x-+5 在x0=-5和x0=1作为迭代初值时的零点。 先编制一个函数文件fz.m: function f=f(x) f=x-1/x+5; 然后,在MATLAB命令窗口,输入命令: fzero('fz',-5) %以-5作为迭代初值 Zero found in the interval: [-4.8, -5.2]. fzero('fz',1)

2.非线性方程组求解 函数fsolve调用格式为: X=fsolve(F,X0) 例5.10 求方程组在(1,1,1)附近的解并对结果进行验证。 首先建立方程的函数文件fxyz1.m: function F=F(X) x=X(1);y=X(2);z=X(3); F(1)=sin(x)+y+z^2*exp(x); F(2)=x+y*z; F(3)=x*y*z; 在MATLAB命令窗口,输入命令: X=fsolve('fxyz1',[1,1,1]) %求解X的三个分量x、y、z Y=fxyz1(X) %检验所求结果X是否满足原方程组 norm(Y) %求Y向量的模

例5.11 求圆和直线的两个交点。 建立方程组函数文件fxyz2.m: function F=F(X) x=X(1);y=X(2);z=X(3); F(1)=x^2+y^2+z^2-9; F(2)=3*x+5*y+6*z; F(3)=x-3*y-6*z-1; 在MATLAB命令窗口,输入命令: X1=fsolve('fxyz2',[-1,1,-1]) %求直线与球面的第一个交点 X2=fsolve('fxyz2',[1,-1,1]) %求直线与球面的第二个交点

5.5 稀疏矩阵 5.5.1 矩阵存储方式 1. 矩阵的完全存储模式 2. 稀疏矩阵的存储方式 5.5.2 稀疏存储方式的产生与转化 1. 将一个完全存储方式的转化为稀疏存储方式 函数B=sparse(A)将矩阵A转化为稀疏存储方式的矩阵B。 sparse函数还有其他一些格式: sparse(m,n) 生成一个m×n的所有元素都是0的稀疏矩阵。 sparse(u,v,S) u、v、S是三个等长的向量。 此外,还有一些和稀疏矩阵操作有关的函数。例如 [U,V,S]=find(A) 返回矩阵A中非0元素的下标和元素。这里产生的U、V、S可作为sparse(u,v,s)的参数。 full(A) 返回和稀疏存储矩阵A对应的完全存储方式矩阵。

2. 产生一个稀疏矩阵 把要建立的稀疏矩阵的非0元素及其所在行和列的位置表示出来后由MATLAB自己产生其稀疏存储方式,这需要使用spconvert函数。调用格式为: B=spconvert(A) 其中A为一个m×3或m×4的矩阵,其每行表示一个非0元素,m是非0元素的个数。 3. 单位稀疏矩阵的产生 单位矩阵只有对角线元素为1,其他元素都为0,是一种具有稀疏特征的矩阵。我们知道,函数eye产生一个完全存储方式的单位矩阵。MATLAB还有一个产生稀疏存储方式的单位矩阵的函数,这就是speye。函数speye(m,n)返回一个m×n的稀疏存储单位矩阵。