第8章 MATLAB数值积分与微分PPT课件


8.1.2 数值积分的实现方法 1.变步长辛普生法 基于变步长辛普生法,MATLAB给出了quad函数
来求定积分。该函数的调用格式为:
[I,n]=quad('fname',a,b,tol,trace) 其中fname是被积函数名。a和b分别是定积分的下
限和上限。tol用来控制积分精度,缺省时取 tol=0.001。trace控制是否展现积分过程,若取非0 则展现积分过程,取0则不展现,缺省时取 trace=0。返回参数I即定积分值,n为被积函数的 调用次数。
调用函数quad求定积分: format long; fx=inline('exp(-x)'); [I,n]=quad(fx,1,2.5,1e-10) I=
0.28579444254766 n=
65
调用函数quad8求定积分: format long; fx=inline('exp(-x)'); [I,n]=quad8(fx,1,2.5,1e-10) I=
例8-2 求定积分。 (1) 被积函数文件fx.m。 function f=fx(x) f=x.*sin(x)./(1+cos(x).*cos(x)); (2) 调用函数quad8求定积分。 I=quad8('fx',0,pi) I=
2.4674
例8-3 分别用quad函数和quad8函数求定积分的近 似值,并在相同的积分精度下,比较函数的调用 次数。
i=1,2,…,n-1。 DX=diff(X,n):计算X的n阶向前差分。例如,
diff(X,2)=diff(diff(X))。 DX=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(缺省状
态),按列计算差分;dim=2,按行计算差分。
例8-6 生成以向量V=[1,2,3,4,5,6]为基础的范得蒙矩 阵,按列进行差分运算。
例8-1 求定积分。 (1) 建立被积函数文件fesin.m。 function f=fesin(x) f=exp(-0.5*x).*sin(x+pi/6); (2) 调用数值积分函数quad求定积分。 [S,n]=quad('fesin',0,3*pi) S= 0.9008 n= 77
2.牛顿-柯特斯法(更精确) 基于牛顿-柯特斯法,MATLAB给出了
的二重定积分。参数tol,trace的 用法与函数quad完全相同。
例8-5 计算二重定积分
(1) 建立一个函数文件fxy.m:
function f=fxy(x,y)
global ki;
ki=ki+1;
%ki用于统计被积函数的调用次数
f=exp(-x.^2/2).*sin(x.^2+y);
(2) 调用dblquad函数求解。
命令如下:
V=vander(1:6) DV=diff(V)
%计算V的一阶差分
>> V=vander(1:6)
DV=diff(V)
%计算V的一阶
1
1
32
16
8
4
2
1
243
81
27
9
3
1
1024 256 64 16
4
1
3125 625 125 25
5
1
7776 1296 216 36
6
%求dp在假设点的函数值
dx=diff(f([x,3.01]))/0.01; %直接对f(x)求数值导数
0.28579444254754 n=
33
3.被积函数由一个表格定义 在MATLAB中,对由表格形式定义的函数关系的求定积分
问题用trapz(X,Y)函数。其中向量X,Y定义函数关系 Y=f(X)。 例8-4 用trapz函数计算定积分。 命令如下:
X=1:0.01:2.5; Y=exp(-X); %生成函数关系数据向量
global ki;ki=0;
I=dblquad('fxy',-2,2,-1,1)
ki
I=
1.57449318974494
ki =
1038
8.2 数值微分 8.2.1 数值差分与差商 8.2.2 数值微分的实现 在MATLAB中,没有直接提供求数值导数的函数,只有计
算向前差分的函数diff,其调用格式为: DX=diff(X):计算向量X的向前差分,DX(i)=X(i+1)-X(i),
第8章 MATLAB数值积分与微分 8.1 数值积分 8.2 数值微分
8.1 数值积分 8.1.1 数值积分基本原理
求解定积分的数值方法多种多样,如简单 的梯形法、辛普生(Simpson)•法、牛顿-柯 特斯(Newton-Cotes)法等都是经常采用的方 法。它们的基本思想都是将整个积分区间 [中 为a,x求b1]=分和a,成问xn题n个+。1=子b区。间这[样xi,求xi+定1],积i分=1问,2,题…就,n分,解其
trapz(X,Y)
ans =
0.28579682416393
8.1.3 二重定积分的数值求解 使用MATLAB提供的dblquad函数
就可以直接求出上述二重定积分的 数值解。该函数的调用格式为:
I=dblquad(f,a,b,c,d,tol,trace) 该函数求f(x,y)在[a,b]×[c,d]区域上
1
DV =
31
15
7
3
1
0
211
65
19
5
1
0
781
175
37
7
1
0
2101 369
61
9
1
0
4651 671
91
11
1
0
>>
例8-7 用不同的方法求函数f(x)的数值导数,并在同一个坐 标系中做出f'(x)的图像。
程序如下:
f=inline('sqrt(x.^3+2*x.^2-x+12)+(x+5).^(1/6)+5*x+2');
quad8函数来求定积分。该函数的调用格式 为:
[I,n]=quad8('fname',a,b,tol,trace) 其中参数的含义和quad函数相似,只是tol的
缺省值取10e-6。 该函数可以更精确地求出 定积分的值,且一般情况下函数调用的步 数明显小于quad函数,从而保证能以更高 的效率求出所需的定积分值。
g=inline('(3*x.^2+4*x-1)./sqrt(x.^3+2*x.^2x+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);
合集下载

微分方程的Matlab求解ppt课件

微分方程的Matlab求解ppt课件
取t0=0,tf=10,建立程序如下: t0=0;tf=10; [t,y]=ode45('eq3',[t0 tf],[0 0]); T=0:0.1:2*pi; X=10+20*cos(T); Y=20+15*sin(T); plot(X,Y,'-') hold on plot(y(:,1),y(:,2),'*')
注意: 1、在解n个未知函数的方程组时,x0和x均为n维向量,
m-文件中的待解方程组应以x的分量形式写成.
2、使用Matlab软件求数值解时,高阶微分方程必须 变换成等价的一阶微分方程组.
例4
d2x dt 2
1000(1
x2
)
dx dt
x
0
x(0) 2; x'(0) 0
解: 令 y1=x,y2=y1’
由待解 方程写 成的m-
ts=[t0,tf], t0、tf为自
函数的 初值
变量的初
文件名 值和终值
ode23:组合的2/3阶龙格-库塔-芬尔格算法 ode45:运用组合的4/5阶龙格-库塔-芬尔格算法
用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at), rt,at:分别为设定的相对误差和绝对误差.
z = (-C1+exp(4*t)*C1-2*exp(4*t)+C2+exp(4*t)*C3)*exp(-2*t)
用Matlab软件求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
自变 函数 量值 值
ode45 ode23 ode113 ode15s ode23s

2024版matlab教程(全)资料ppt课件

2024版matlab教程(全)资料ppt课件

进行通信系统的建模、仿真和分析。
谢谢聆听
B
C
变量与赋值
在MATLAB中,变量不需要事先声明,可以 直接赋值。变量名以字母开头,可以包含字 母、数字和下划线。
常用函数
MATLAB提供了丰富的内置函数,如sin、 cos、tan等三角函数,以及abs、sqrt等数 学函数。用户可以通过help命令查看函数的
D
使用方法。
02 矩阵运算与数组操作
错误处理
阐述try-catch错误处理机制的语法、 执行流程及应用实例。
04
函数定义与调用
函数概述
阐述函数的概念、作用及分类,包括内置函数和 自定义函数。
函数调用
深入剖析函数的调用方法,包括直接调用、间接 调用及参数传递等技巧。
ABCD
函数定义
详细讲解自定义函数的定义方法,包括函数名、 输入参数、输出参数及函数体等要素。
拟合方法
利用已知数据点构造近似函数,如最小二乘法、多项 式拟合、非线性拟合等。
插值与拟合的比较
插值函数经过所有数据点,而拟合函数则追求整体上 的近似。
数值积分与微分
01
数值积分方法
利用数值技术计算定积分的近似 值,如矩形法、梯形法、辛普森 法等。
02
数值微分方法
通过数值技术求解函数的导数或 微分,如差分法、中心差分法、 五点差分法等。
02
01
矩阵运算
加法与减法
对应元素相加或相减,要求矩阵 大小相同
乘法
使用`*`或`mtimes`函数进行矩阵 乘法,要求内维数相同
点乘与点除
使用`.*`、`./`进行对应元素相乘或 相除,要求矩阵大小相同
特征值与特征向量

MATLAB_简介(5)MATLAB数值积分与微分

MATLAB_简介(5)MATLAB数值积分与微分

二重积分dblquad()与三重积分

0

2
[ y sin(x ) x cos(y )]dxdy
fun=inline('y*sin(x)+x*cos(y)')
Q=dblquad(fun,pi,2*pi,0,pi) Q = -9.8698 [x,y]=meshgrid(pi:.1:2*pi,0:.1:pi); z=fun(x,y); mesh(x,y,z)
>> plot(x,y,'o',x,y)
>> title('y(x) data plot') >> ylabel('y(x)'), xlabel('x') >> dy=diff(y)./diff(x); >> xd=x(1:length(x)-1); >> plot(xd,dy) >> title('Approximate derivative using diff') >> ylabel('dy/dx'), xlabel('x')
注意二者皆以后向差分计算且数据点只剩 4 个 而不是5个。而 dy/dx 的 数值微分则为 dy/dx=diff(y)./diff(x)。 因此要计算下列多项式在 [-4, 5] 区间的微分
>> x=linspace(-4,5); % 产生100个x的离散点
>> p=[1 -3 -11 27 10 -24]; %被积函数各项的系数
%函数计算的次数n
q= -0.4605 n= 53
再来看一个积分式

如何使用MATLAB求解微分方程(组)ppt课件

如何使用MATLAB求解微分方程(组)ppt课件

差,输出参数,事件等,可缺省。 9
使用ODE?时如何编 写微分方程 ?
方式一:带额外参数,使用时需对参数进行赋值
function odefun(t,x,flag,R,L,C) %用flag说明R、L、C为变 量
xdot=zeros(2,1);
%表明其为列向量
xdot(1)=-R/L*x(1)-1/L*x(2)+1/L*f(t);
2
Where ?
工程控制
ODE
医学生理
航空航天
金融分析
3
Where ?
算法开发 数据分析
数值计算 MAT LAB
数据可视化
4
When ?
当对问题进行建模后,有常微分方程 需要求解时。
在生物建模中,经常需要求解常微分 方程。如药物动力学的房室模型的建模 仿真。
5
方法 ode23
ode45
数 ode113
当无法藉由微积分技巧求 得解析解时,这时便只能利 用数值分析的方式来求得其 数值解了。实际情况下,常 微分方程往往只能求解出其
数值解。
在数学中,刚性方程是指一 个微分方程,其数值分析的解 只有在时间间隔很小时才会稳 定,只要时间间隔略大,其解 就会不稳定。
目前很难去精确地去定义哪 些微分方程是刚性方程,但是 大体的想法是:这个方程的解
y(1)=x(2);
y1
y2
y(2)= -t*x(1)+exp(t)*x(2)+3*sin(2*t);
end
1000
求解程序ห้องสมุดไป่ตู้键步骤
[t,y]=ode45('odefun',[3.9 4.0],[2 8])
y

MATLAB经典教程(全)PPT课件

MATLAB经典教程(全)PPT课件
由Cleve Moler和John Little于1980 年代初期开发,用于解决线性代数课 程的数值计算问题。
MATLAB的优势
易于学习、使用灵活、高效的数值计 算和可视化功能、强大的工具箱支持。
发展历程
从最初的数值计算工具,逐渐发展成 为一款功能强大的科学计算软件,广 泛应用于工程、科学、经济等领域。
MATLAB工作环境与界面
MATLAB工作环境
包括命令窗口、工作空间、命令历史窗口、当 前文件夹窗口等。
界面介绍
详细讲解MATLAB界面的各个组成部分,如菜 单栏、工具栏、编辑器窗口等。
基本操作
介绍如何在MATLAB环境中创建、保存、运行脚本和函数,以及如何进行基本 的文件操作。
基本数据类型与运算
矩阵大小
使用`size`函数获取矩阵的行数 和列数。
矩阵元素访问
通过下标访问矩阵元素,如 `A(i,j)`表示访问矩阵A的第i行第j 列元素。
矩阵基本操作
包括矩阵的加、减、数乘、转置 等操作。
矩阵运算及性质
矩阵乘法 满足乘法交换律和结合律,但不满足 乘法交换律。
矩阵的逆
对于方阵,若存在一矩阵B,使得 AB=BA=I(I为单位矩阵),则称B 为A的逆矩阵。
Hale Waihona Puke 03 数据分析与可视化数据导入、导出及预处理
数据导入
介绍如何使用MATLAB导入各种格式的数据文件, 如.csv、.txt、.xlsx等。
数据导出
讲解如何将MATLAB中的数据导出为常见的数据文件格式,以 便于数据共享和交换。
数据预处理
阐述数据清洗、数据变换、数据规约等预处理技术,为后续的数 据分析和可视化奠定基础。
01
02

matlab-008

matlab-008
s=26.3445
Newton-cotes法 Newton-cotes法求数值积分用quadl()函数,其原理为:
I =
∫
b a
nh n f ( x ) dx ≈ ⋅ ∑ Ai f ( a + ih ) N i=0
其中,Ai为科茨数,可以查表得到 梯形法调用格式为:I=quadl(‘fun’,a,b,tol) ,即用牛顿-科 茨法计算被积函数fun在(a,b)区间内的定积分;tol指定了 迭代精度,默认为.000001
矩阵除法求解
例:采用直接法解方程组:
3 1 0 1 1 −5 2 6 −4 0 1 −1 1 x1 13 7 x2 − 9 = x3 6 −1 x −4 4 0
-0 .1 5 8 7 1 . 1 5 8 6 X = 0 0
-0 .6 4 9 4 -0 .1 2 1 4 + k1 0 .7 3 3 3 -0 .1 6 0 8
+ k2
0 .0 1 8 2 -0 .9 0 0 5 -0 .0 3 8 1 0 .4 3 2 9
例:>>I=quadl('exp(-0.4*x).*cos(x+pi/3)',0,3*pi) I= -0.5874
重积分 二重积分用dblquad()函数求数值积分,其调用格式为: I=dblquad(fun,xmin,xmax,ymin,ymax,tol,method) 三重积分用triplequad()函数求数值积分,其调用格式为: I=triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)

matlab教程ppt(完整版)

matlab教程 PPT(完整版)
汇报人:可编辑
2023-12-24
目录
• MATLAB基础 • MATLAB编程 • MATLAB矩阵运算 • MATLAB数值计算 • MATLAB可视化 • MATLAB应用实例
01
CATALOGUE
MATLAB基础
MATLAB简介
MATLAB定义
MATLAB应用领域
菜单栏
包括文件、编辑、查看、主页 、应用程序等菜单项。
命令窗口
用于输入MATLAB命令并显示 结果。
MATLAB主界面
包括命令窗口、当前目录窗口 、工作空间窗口、历史命令窗 口等。
工具栏
包括常用工具栏和自定义工具 栏。
工作空间窗口
显示当前工作区中的变量。
MATLAB基本操作
变量定义
使用变量名和赋值符号(=)定义变 量。
详细描述
直接输入:在 MATLAB中,可以直 接通过输入矩阵的元 素来创建矩阵。例如 ,`A = [1, 2, 3; 4, 5, 6; 7, 8, 9]`。
使用函数创建: MATLAB提供了多种 函数来创建特殊类型 的矩阵,如`eye(n)`创 建n阶单位矩阵, `diag(v)`创建由向量v 的元素构成的对角矩 阵。
使用bar函数绘制柱状图 ,可以自定义柱子的宽
度、颜色和标签。
使用pie函数绘制饼图, 可以自定义饼块的比例
和颜色。
三维绘图
01
02
03
04
三维线图
使用plot3函数绘制三维线图 ,可以展示三维空间中的数据
点。
三维曲面图
使用surf函数绘制三维曲面图 ,可以展示三维空间中的曲面
。
三维等高线图

数值积分与数值微分


10参数高斯法 10参数高斯法
fun = inline('exp(-x.*x)','x'); lg = gauss10(fun,0,1)
二元函数的积分
dblquad triplequad
符号法
syms x y ssx01=vpa(int(int(x^y,x,0,1),y,1 ,2)) ssx12=vpa(int(int(x^y,y,0,1),x,1 ,2))
一元函数的积分 二元函数的积分
一元函数的积分
quad 符号解析法 10参数高斯法 Simulink Simulink法
quad
fun = inline('exp(-x.*x)','x'); Isim = quad(fun,0,1) IL=quadl(fun,0,1)
quad
% funInteg.m function y = funInteg(x) y = exp(-x.*x); --------------------------------------- % tstquad2.m Isim = quad(@funInteg,0,1) IL=quadl(@funInteg,0,1)
(x c )(x b ) f (a ) + (x a )(x b ) f (b ) P2 ( x ) = (a c )(a b ) (c a )(c b ) (x c )(x a ) f (c ) + (b c )(b a )
∫ f (x )dx ≈ ∫
b a
b
a
ba a+b f (a ) + 4 f P2 ( x )dx = + f (b ) 6 4

数值分析课件第八章-数值积分.ppt


g(u)
n (u n j)
n/2
(u j)
j0
2
jn / 2
是奇函数,故R[f]=0。证毕。
8.3 复合求积公式
1、复合梯形公式
将[a,b]n等分,h=(b-a)/n,在每个子区间[xk, xk+1] (k=0,1,…,n-1)上采用梯形公式,得
I
b
n1
f (x)dx
n
Ln (x) lk (x) f (xk )
k 0
(lk (x)
n j0
(x xj) ) (xk x j )
jk
则
b
b
n
b
a f (x)dx a Ln (x)dx f (xk ) a lk (x)dx
k 0
若记
Ak
b
a lk (x)dx
b n (x x j ) dx a j0 (xk x j )
0
32 90
C2( 4 )
1 4 2!2!
4
t(t 1)(t 3)(t 4)dt
0
12 90
C3( 4 )
1 4 3!
4
t(t 1)(t 2)(t 4)dt
0
32 90
C4( 4 )
1 4 4!
4
t(t 1)(t 2)(t 3)dt
0
7 90
求积公式为
4
I4 ( f ) (b a)
定义1. 若求积公式
b
f (x)dx
a
n
i f (xi )
i0
对所有次数不超过 m次的代数多项式 Pk (x)(k m)都准确成立 ,即
b
n
a Pk (x)dx i Pk (xi )

Matlab基础课件PPT(第1-8章)


>>x = magic(3) x=
产生正态分布随机数randn(1,10000) hist()正态直方图
8 1 6 3 5 7 4 9 2 行、列、对角线元素都是15。
The value of the characteristic sum for a magic square of order n is sum(1:n^2)/n which, when n = 3, is 15. (n>=3)
>> A(:,[2,4])=[ ]
A= -4 -3 0 1 4 5
删除了A的第二第4列
18
5、字符串
用单引号创建字符串 用char(‘ ’)创建字符串
>> country='China', country =
>> name=char('Liu Ying','Hu Xu' name =
China
4 6
8

两个“等宽”矩阵的聚合:
>> a=[3 5;6 3;6 1] a= 3 6 6 5 3 1 >> b=[4 1;3 2] b= 4 3 1 2 >> c=[a;b] c=
3 6 6 4 3
5 3 1 1 2

利用函数
repmat(M,n,m)扩展矩阵M:
>> x=repmat(M,3,2) x=
x=8:17, x=3:0.5:13, x=9:-1:1 x=linspace(first, last,num),如:
用 linspace函数构造数组:格式
x=linspace(1,9,10),
x=
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档