MATLAB 数学实验 第三章微积分

合集下载

第3讲 MATLAB在微积分中的应用

第3讲 MATLAB在微积分中的应用

2)求数值解的方法 1. 欧拉方法 若步长h较小,则可用差商近似代替导数,即 y ( x + h) − y ( x ) y '( x) ≈ h 于是便得公式 yi +1 ≈ yi + hf ( xi , yi ) , i = 0,1, L , n − 1. y0 = y ( x0 ) 此法称为欧拉方法。
例7 用MATLAB软件求微分方程 du = 1+ u2 dt 的通解; 例8 用MATLAB软件求微分方程 d 2 y dy 2 + 4 + 29 y = 0 dx dx y(0) = 0, y ' (0) = 15 的特解。
例9 用MATLAB软件求微分方程组 dx dt = 2 x − 3 y + 3z dy = 4 x − 5 y + 3z dt dz dt = 4 x − 4 y + 2 z 的通解.
2. 改进的欧拉方法 对方程y ' = f ( x, y )两边从xi到xi +1积分,再利用梯形公式,得 y ( xi +1 ) − y ( xi ) = ∫
xi +1 xi
f ( x, y ( x )) dx
xi +1 − xi ≈ [ f ( xi , y ( xi )) + f ( xi +1 , y ( xi +1 ))] 2 h 于是有公式: yi +1 ≈ yi + [ f ( xi , yi ) + f ( xi +1 , yi +1 )], y0 = y ( x0 ) 2 上式中右边yi +1的值可用欧拉方法计算,即有 yi +1 = yi + hf ( xi , yi ) i = 0,1, L , n − 1. h yi +1 = yi + 2 [ f ( xi , yi ) + f ( xi +1 , yi +1 )] 此法称为改进的欧拉方法。

Matlab微积分问题计算机求解实验

Matlab微积分问题计算机求解实验

>> q2=quad('quad1',0,1)
【例】求exp(-x2)在[0,1]上的积分。
数值积分
3、编写被积函数表达式,函数名为f=@(x).exp(-x.^2);
>> q2=quad(f,0,1)
数值积分
(2)梯形法(被积函数由一个表格定义)
trapz函数采用梯形法求取数值积分,适用于由表格形式定义的函数关系的求定积分问题,求值速度快, 但精度差。
syms x; f=abs(x)/x;%给出待展开的函数 xx=[-pi:pi/200:pi]; xx=xx(xx~=0); xx=sort([xx,-eps,eps]);
Fourier级数的Matlab程序
yy=subs(f,x,xx);%计算f(x)的值 for i=1:20
[A,B,F]=fseries(f,x,n); y=subs(F,x,xx); subplot(4,5,n); plot(xx,yy);%画出f(x)的图像 hold on plot(xx,y);%画出Fourier级数的图像 end
K ex2dx 0
计算积分
21
( x1)2
练习:
e 2 dx,
0 2
e2t 2 x 2 1
dx
cost (2 x 2 3 x 1)2
符号求和
symsum(u,n,n0,nn): symsum(f,a,b): 关于默认变量求和
例:计算级数
S 1 及其前100项的部2 分和 n n 1
>> syms n; f=1/n^2;
>> S=symsum(f,n,1,inf)
>> S100=symsum(f,n,1,100)

MATLAB第三章

MATLAB第三章

第三章微积分问题的计算机求解一、实验内容:题目1.试求出如下极限。

①limx→∞(3x +9x )1/ x,②lim x→∞[(x+2)x+2(x+3)x+3 ]/(x+5)2x+5【分析】:该题为单变量函数的极限。

极限问题可以用limit()函数直接求出。

要注意该函数的调用格式为:L=limit(fun,x,x0)(求极限),L=limit(fun,x,x0,’left’或’right’)(求极限)。

还需注意一开始要对函数的字符进行申明。

【解答】:(1)输入如下语句:>> syms x;f=(3^x+9^x)^(1/x);L=limit(f,x,inf)语句运行后显示如下:L =9(2)输入如下语句:>>syms x;f=(x+2)^(x+2)*(x+3)^(x+3)/(x+5)^(2*x+5);>> L=limit(f,x,inf)语句运行后显示如下:L =exp(-5)题目2.试求下面的双重极限。

①lim x→−1y→2 (x2y+xy3)/(x+y) 3,②limx→0 y→0 xy /√(xy+1)−1,③limx→0y→0 [1−cos(x2+y2)]/(x2+y2)e x2+y2。

【分析】:该题为多变量函数的极限问题。

他可以用嵌套使用limit()函数来解决。

在MATLAB上可以用L=limit(limit(f,x,x0),y,y0)或者L=limit(f,y,y0),x,x0)来解决。

其思想是所有的先关于X求导,再所有的关于y求导。

【解答】:(1)输入如下语句:>> syms x y>> f=(x^2*y+x*y^3)/(x+y)^3;>> L=limit(limit(f,x,-1),y,2)语句运行后显示如下:L =-6(2)输入如下语句:>> syms x yf=(x*y)/(sqrt(x*y+1)-1);L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =2(3)输入如下语句:>> syms x yf=(1-cos(x^2+y^2))/(sqrt(x^2+y^2)*exp(x^2+y^2));L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =题目3.求出下面函数的导数。

微积分(多元微积分)实验matlab作图

微积分(多元微积分)实验matlab作图

errorbar
ezplot
误差棒图
符号函数二维曲线
ribbon
scatter
带状图
点图(与plot相似, 但只有数据点)
feather
fill quiver
沿x轴分布的复数向量 图
平面多边形填色 箭图
stem
stairs zoom
火柴杆图
阶梯图 图形缩放
实例
• • • • • • 条形图:4-18,4-19 误差图:4-20 直方图:4-21 茎状图:4-23 扇形图:2-24 等
表4-2 标记清单描述
符号 + o(小写字母o) 标记类型 加号符号 圆符号
*
. x(小写字母x)
星号
点号 叉符号
'square' or s
'diamond' or d ^ v > < 'pentagram' or p
方形符号
菱形符号 上三角符号 下三角符号 右三角符号 左三角符号 五角星符号
'hexagram' or h
– 在x-y 平面上指定一个长方形区域,采用与坐标轴 平行的直线将其分格; – 计算矩形网格点上的函数值,即z 轴的值,得到三 维空间的数据点; – 将这些数据点分别用于处于x-z 或者平行面内的曲 线和处于y-z 或者其平行面内的曲面连接起来,即 形成网格图。
• 见例4-29,4-30等
mesh函数介绍
x t sin t y t cos t ,0 t 6 z t
x t cos t y t sin t ,0 t 6 z t
【求解】创建myplot301.m文件

MATLAB-中的极限、微分与积分

MATLAB-中的极限、微分与积分

ans
x 2 y sin( y)
diff ((x y y 2 sin(x) cos( y)) ,x ,3)
ans
cos(x)
diff (diff (x y y 2 sin(x) cos( y) ,y) ,x)
ans
1
F y
x 2 y sin y
3F x3
cos x 2F yx
经济数学
MATLAB 中的极限、微分与积分
1.1 利用MATLAB求极限
MATLAB中可以利用limit函数求极限.MATLAB在微积分中的常用命令及函数的功如表8-3所示. 表8-3
MATLAB 中的极限、微分与积分
例1

syms x
limit(sin(x) x ,x ,0)
ans 1
(这里ans用作计算结果的默认变量名)
2 000
MATLAB 中的极限、微分与积分
例11

syms x
int (x (1 sqrt(1 x)) ,x ,0 ,3)
ans
5
3
3
x
5
0 x
dx . 1 x 3
MATLAB 中的极限、微分与积分
例12

syms x
int(1 (1 x) 2 ,x ,1,inf )
ans
1
2
^ P
Q1
%求弹性函数
Q2
P log(4)
(说明弹性函数为 P ln4)
P 20 ;
Q2 P log(4)
Q2
27.7259
所以当价格为20美元时,若价格上涨1% ,则需求量下降27.73% .
MATLAB 中的极限、微分与积分

MatLab在多元微积分中的应用1

MatLab在多元微积分中的应用1
一系列点的横坐标x,纵坐标y和立标z. 取点的方法如下:
程序如下
请按一定的规律写出这些点的极角构成 的矩阵,立标构成的矩阵。
2 2 2 2 2 2 2 2
立标构成构成的矩阵: 1
1
1
1
1
1
1
1

z 0 0 0 0 0 0 0 0

1
1
1
1
1
1
1
1

2 2 2 2 2 2 2 2
a jacobian([x, y, z], t)
a的三个元素分别为三个导数
例11 设曲线 : x 3sin t, y 3cos t, z 5t, 求曲线
在 t 10 所对应点的切线和法平面方程,并画出曲
4
线、切线和法平面方程.
a1为切向量


切点的三个坐标

结果为:a1 [ 2.1213 -2.1213 5.0000]'

5
4
7
4
8
4
2 2 2 2 2 2 2 2

1
1
1
1
1
1
1
1

z 0 0 0 0 0 0 0 0

1
1
1
1
1
1
1
1
2 2 2 2 2 2 2 2
继续输入:
另外一种做法:
view(-128,23)%控制观察的角度 light(‘position’,[2,1,2]);%设置灯光源位置或射向 lighting phong %照明设置形式 shading interp %使用光照插值 camlight(-220,-170) %设置光照位置 axis([-3 3 -3 3 -4 3])

第三章-matlab求解微积分

第三章-matlab求解微积分

第三章 微积分的数学实验3.1极限与一元微积分3.1.1 初等运算1.定义单个或多个符号变量:syms x y z t ;定义单个符号变量或者符号函数还可以用单引号定义,如x=’x ’,f=’sin(x^2)+2*x-1’。

符号表达式的反函数运算g=finverse(f),g 是返回函数f 的反函数。

例1 求sin(1)y x =-的反函数>>syms x>>y=sin(x-1); g=finverse(y),结果为 g=1+asin(t)2. f actor(f) 因式分解函数f3.Collect(f) 对函数f 合并同类项4. expand(f) 将函数f 表达式展开5. simple(f) 找出表达式的最简短形式(有时需要用2次)6. roots (p )对多项式p 求根函数。

7. solve(F) 一般方程的求根函数例2 解方程2510x x +-=解 >>syms x>>solve(x^2+5*x-1)结果为x =[ -5/2+1/2*29^(1/2) -5/2-1/2*29^(1/2)]8.fzero(f,x0)或fzero(f,[a,b]) 在初始点x0处开始或在区间[a,b]上搜索函数的零点,f(a)与f(b)需要符号相反。

3.1.2 Matlab计算函数的极限函数形式:1)limit(F,x,a),求函数F在 x ->a时的极限。

2)limit(F,a),默认其中的变量为极限变量.3)limit (F),默认其中的变量为极限变量且趋向于0.4)limit(F,x,a,'right')或limit(F,x,a,’left') 求函数F在x->a时的右、左极限.例3 >>syms x a t h; %syms作用是申明x,a,t,h是符号变量,不需先赋值再调用。

>>limit(sin(x)/x) %结果为 1>>limit((x-2)/(x^2-4),2) %结果为 1/4>>limit((1+2*t/x)^(3*x),x,inf) %结果为 exp(6*t)>>limit(1/x,x,0,'right') %结果为 inf>>limit(1/x,x,0,'left') %结果为 -inf>>limit((sin(x+h)-sin(x))/h,h,0) %结果为 cos(x)>>v = [(1 + a/x)^x, exp(-x)];limit(v,x,inf,'left') %结果为[exp(a),0]3.1.3 Matlab计算导数与微分1.一元导数和微分diff函数用以计算函数的微分和导数,相关的函数语法有下列4个:diff(f) 返回f对预设独立变量的一次导数值diff(f,'t')或diff(f,t) 返回f对独立变量t的一次导数(值)diff(f,n) 返回f对预设独立变量的n阶导数(值)diff(f,'t',n) 或diff(f,t,n)返回f对独立变量t的n阶导数(值)这里尽管自变量已经作为符号变量,可以不用syms说明,但是在具体执行diff(f)、diff(f,'t')和diff(f,t)会出现差异,有的能够执行,有的不能够,有的执行符号微分,有的执行数值微分,所以比较麻烦。

利用matlab进行微积分的计算

利用matlab进行微积分的计算

Matlab的微积分符号运算都可以对数组进行。
函数的积分 积分符号运算的基本语句 int(F); %求函数表达式F的不定积分 int(F,v); %求函数表达式F关于变量v的不定积分 int(F,a,b); %求函数表达式F在区间[a,b]上的定积分 int(F,v,a,b); %求函数表达式F在区间[a,b]上的关于变量v的 定积分
elapsed time is 17.471170 seconds. s=
53362913282294785045591045624042980409652472280384260097101349248456268889497101757 50609790198503569140908873155046809837844217211788500946430234432656602250210027842 563285208140554494121044251014267277029477471270891796396777961045322469242686646888 828158207198489710511079687324931915552939701750893156451997608573447301418328401172 44122806490743077037366831700558002936592350885893602352858528081607595747378366554 13175508131522517/712886527466509305316638415571427292066835886188589304045200199115 432408758111149947644415191387158691171781701957525651298026406762100925146587100430 513107268626814320019660997486274593718834370501543445252373974529896314567498212823 69562328237940110688092623177088619795407912477545580493264757378299233527517967352 48042463638051137034331214781746850878453485678021888075373249921995672056932029099 390891687487672697950931603520000

用MATLAB解微积分问题的实验报告4

用MATLAB解微积分问题的实验报告4

>>xa=-2:0.2:2;ya=-2:0.5:2;[x,y]=meshgrid(xa,ya); >>z=x.*exp(-x.^2-y.^2); >>[px,py]=gradient(z,xa,ya); %画出函数的方向导数 >>contour(x,y,z),hold on,quiver(x,y,px,py),hold off 3.梯形积分法 指令: z=trapz (x, y) x 是表示积分区间的离散化向量; y 也是与 x 同 维数的向量,表示被积函数;z 返回积分近似值 实验原理:先将积分区间分解为几个小区间,用每个小区间上梯形 面积之和作为积分近似值 例如:求积分
2 2 2 2 xe(x +y ) dxdy 0 −2

������ 1 1 (ysint 0 0 −1
+ zcost) dtdydz
建立 M 文件,内容如下: fun=inline('x.*exp(x.^2+y.^2)','x','y'); dblquad(fun,0,2,-2,2) fun=inline('y.*sin(t)+z.*cos(t)','t','y','z'); triplequad(fun,0,pi,0,1,-1,1) 实验结果: (保存之后,运行结果如下: ) ans=881.8304
������, ������ ������������求解
������ ������−������ ������ ( −������ − ������−������ ������
������ ������ +������ ������

高等数学MATLAB实验三 不定积分、定积分及其应用 实验指导书

高等数学MATLAB实验三 不定积分、定积分及其应用 实验指导书

实验三 不定积分、定积分及其应用【实验类型】验证性【实验学时】2学时【实验目的】1.掌握用MA TLAB 求函数不定积分、定积分的方法;2.理解定积分的概念及几何意义;3.掌握定积分的应用;【实验内容】1.熟悉利用MATLAB 计算不定积分的命令、方法;2.通过几何与数值相结合的方法演示定积分的概念和定积分的几何意义;【实验目的】1.掌握利用MATLAB 计算不定积分的命令、方法;2.通过几何与数值相结合的方法演示定积分的概念和定积分的几何意义;3.掌握利用MATLAB 计算定积分、广义积分的命令、方法;4.掌握利用MA TLAB 计算有关定积分应用的各种题型,包括平面图形的面积、旋转体的体积、平面曲线的弧长等;【实验前的预备知识】1.原函数与不定积分的概念;2.不定积分的换元法和分部积分法;3.定积分的概念;4.微积分基本公式;5.广义积分的敛散性及计算方法;6.利用定积分计算平面图形的面积;7.利用定积分计算旋转体的体积;8.利用定积分计算平面曲线的弧长;【实验方法或步骤】一、实验使用的MATLAB 函数1.int( f (x ) , x ); 求()f x 的不定积分;2.int( f (x ), x , a , b );求()f x 在[,]a b 上的定积分;3.int( f (x ) , x , -inf, inf );计算广义积分()d f x x ∞-∞⎰;4.solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN');求解n 元方程组;二、实验指导例1 计算不定积分cos 2x e xdx ⎰。

输入命令:syms x;int(exp(x)*cos(2*x),x)运行结果:ans =1/5*exp(x)*cos(2*x)+2/5*exp(x)*sin(2*x)例2 计算不定积分。

matlab第3章 微积分问题的计算机求解

matlab第3章 微积分问题的计算机求解

2/28/2024星期六, 2008-9- 6, 13:07:55
Slide 1 (of 147)
18/159
3.2.1 函数的导数和高阶导数
如果函数和自变量都已知,且均为符号变 量,则可以用diff()函数解出给定函数的 各阶导数 函数语法

2/28/2024星期六, 2008-9- 6, 13:07:55
单变量函数Taylor级数展开 多变量函数Taylor级数展开
Fourier级数展开 级数求和的计算 序列求积问题
2/28/2024星期六, 2008-9- 6, 13:07:55
Slide 1 (of 147)
54/159
3.4.1 单变量函数 的Taylor幂级数展开
Slide 1 (of 147)
40/159
3.3.1 不定积分的推导
函数int()可以被用于计算不定积分
MATLAB函数
积分
多重积分,嵌套调用;更多重循环
2/28/2024星期六, 2008-9- 6, 13:07:55
Slide 1 (of 147)
41/159
例 3.21
函数 求其一阶导数,再积分
48/159
例 3.25
求解 MATLAB求解(早期版本)
直接公式求解
2/28/2024星期六, 2008-9- 6, 13:07:55
Slide 1 (of 147)
49/159
3.3.3 多重积分问题的 MATLAB求解
函数int()仍可以被用于计算多重积分
注意:需要根据实际情况先选择积分顺 序,可积的部分作为内积分,然后再处 理外积分。否则,会的不出解析解
Slide 1 (of 147)

用matlab计算微积分

用matlab计算微积分

是int,其调用格式为: int(f,x) int函数求函数f对变量x的不定积分。
例4 求不定积分

x x dx
2 4
解: 原 式 x 1 x 2 dx
1 1 x 2 d (1 x 2 ) 2
3 1 2 . .(1 x 2 ) 2 2 3 3 1 (1 x 2 ) 2 c 3
在MATLAB中,求定积分的函数是int,
例 6 求积分
1 0
1
2

3 2x x 1
dx, dx,
3 2x x
2
syms x; int(1/(3+2*x+x^2),x,0,1) int(1/(3+2*x+x^2),x,-inf,inf)
2x 1 例7求定积分 cost (2 x 2 3 x 1)2 dx
因式分解
因式分解
factor(f)
syms x; f=x^6+1; factor(f)
factor 也可用于正整数的分解
s=factor(100) factor(sym('12345678901234567890'))
大整数的分解要转化成符号常量
函数展开
函数展开
expand(f)
多项式展开
>> syms x; f=(x+1)^6; >> expand(f)
三角函数展开
>> syms x y; f=sin(x+y); >> expand(f)
合并同类项
合并同类项
collect(f,v): 按指定变量 v 进行合并 collect(f): 按默认变量进行合并

matlab数学实验.doc

matlab数学实验.doc

matlab 数学实验《管理数学实验》实验报告班级姓名实验 1:MATLAB的数值运算【实验目的】(1)掌握 MATLAB 变量的使用(2)掌握 MATLAB 数组的创建,(3)掌握 MA TLAB 数组和矩阵的运算。

(4)熟悉 MATLAB 多项式的运用【实验原理】矩阵运算和数组运算在MA TLAB中属于两种不同类型的运算,数组的运算是从数组元素出发,针对每个元素进行运算,矩阵的运算是从矩阵的整体出发,依照线性代数的运算规则进行。

【实验步骤】(1)使用冒号生成法和定数线性采样法生成一维数组。

(2)使用 MA TLAB 提供的库函数 reshape,将一维数组转换为二维和三维数组。

(3)使用逐个元素输入法生成给定变量,并对变量进行指定的算术运算、关系运算、逻辑运算。

(4)使用 MA TLAB绘制指定函数的曲线图,将所有输入的指令保存为M 文件。

【实验内容】( 1)在 [0,2*pi] 上产生 50 个等距采样数据的一维数组,用两种不同的指令实现。

0:(2*pi-0)/(50-1):2*pi或linspace(0,2*pi,50)( 2)将一维数组A=1:18 ,转换为2×9 数组和 2× 3× 3 数组。

reshape(A,2,9)ans =Columns 1 through 713 5 24 6 789111012131415171618reshape(A,2,3,3) ans(:,:,1) =1 3 52 4 6 ans(:,:,2) =7 9 118 10 12 ans(:,:,3) =13 15 1714 16 18matlab 数学实验( 3)A=[0 2 3 4 ;1 3 5 0],B=[1 0 5 3;1 5 0 5] ,计算数组 A、 B 乘积,计算 A&B,A|B,~A,A==B,A>B 。

A.*Bans=0 0 15 121 15 0 0A&Bans =0 0 1 11 1 0 0A|Bans =1 1 1 11 1 1 1~Aans =1 0 0 00 0 0 1A==Bans =0 0 0 01 0 0 0A>=Bans =0 1 0 11 0 1 0t t ( 4)绘制 y= 0.5 e3 -t*t*sin(t),t=[0,pi] 并标注峰值和峰值时间,添加标题 y= 0.5 e3 -t*t*sint ,将所有输入的指令保存为M 文件。

微 积 分 MATLAB 实 验

微 积 分 MATLAB 实 验

微积分MATLAB实验MAO YUHUI微积分MATLAB实验(2005年11月修改稿)§1 MATLAB 导引一、关于数学软件在当今众多数学类科技应用软件中,就其原始内核而言,可分为两大类:一类是数学解析型软件,如 Mathematica、Maple、Mathcad 等,它们以符号计算见长;另一类是数值计算型软件,如MATLAB等,它们对大批数据具有较强的管理、计算和可视化能力.这四种软件在数学软件市场据于主导地位.本附录采用的实验软件是MATLAB.二、关于MATLAB1980 年前后,MATLAB的首创者Cleve Moler 博士在美国新墨西哥大学讲授线性代数课程时,为学生构思开发了矩阵计算专用软件MATLAB ( MATrix LABoratory , 矩阵实验室 ),使学生不致花费太多的时间在繁琐的运算与编程上.至1983年,Cleve Moler和John Little 采用C语言改写了MATLAB的内核.不久,他们成立了Mathworks公司,并将MATLAB 正式推向市场.MATLAB软件从1984年推出第一个版本到目前的MATLAB 7.1,总共已发布了十余个版本.随着版本不断更新,MATLAB 的功能越来越多,使用起来也越来越方便.MATLAB由主包、动态仿真(Simulink)以及功能各异的工具箱(Toolbox)组成.Toolbox的内容非常广泛,涉及数学、控制、通讯、经济、地理、信号处理、图象处理、神经网络等多种学科的数十种工具和模块集,为用户提供了丰富而实用的资源.此外,借助Maple的威力,MATLAB也具有相当强的扩展符号运算的功能.下面介绍使用MATLAB的基本知识.三、启动MATLAB安装完毕MATLAB软件后,在Windows桌面上会自动创建MATLAB快捷方式图表.由此启动MATLAB后出现指令窗“MATLAB”.在提示符“》”(或光标位置符“|”)后,便可输入指令(程序).四、数据的输入和输出MATLAB的基本数据结构是矩阵,向量被看作是特殊的矩阵.有多种方法输入(产生)和输出矩阵,下面介绍几种最基本的方法.(1)直接写入矩阵输入矩阵时,用方括号[]作为矩阵的定界符,用逗号或空格分隔各列,用分号分隔各行.例如键入A=[1, 2, 3; 4, 5, 6; 7, 8, 9 ]或A=[1 2 3; 4 5 6; 7 8 9 ]均产生一个3 3矩阵A⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321; 键入a =[10, 11, 12]则产生一个1⨯3向量.屏幕显示为注1.在MATLAB 中,大写字母与小写字母是不能混同的( 如上面的A与a 互不相 同 );注2.上面输入矩阵A与a 的句末不加任何标点而直接“ 回车”,MATLAB 将立即在其后输出(屏幕显示)A与a 的结果.若在句末加分号“ ;”而后再“回车”,则结果不会被输出.这两种方式同样适用于其它类似的情形.注3.用小矩阵可以合并成大矩阵,例如上面已经输入了矩阵A和a ,则有其中a' 是 a 的转置.(2)利用冒号“:”产生矩阵例如,输入 x = 1 : 5 ,将产生一个元素值由1到5增量为1的行向量x =[1,2,3,4,5];输入 x = 2: 0.5:4,将产生一个元素值由2到4增量为0.5的行向量x =[2,2.5,3,3.5,4];输入 x = 6:-0.2:5,则产生一个元素值由6到5增量为-0.2的行向量x =[6,5.8,5.6,5.4,5.2,5].利用冒号也可以从大矩阵中抽取子矩阵.例如上面已经输入了矩阵C,则指令D =C( 2 : 3,2 : 4 )将产生一个2⨯3的子矩阵,其元素是C的第2行至第3行、第2列至第4列.屏幕显示为:(3)获取(或定义)矩阵元素可用小括号标识矩阵的单个元素.例如, 相继输入C (2, 3 ) 和a(5)=-a(1)后,屏幕分别显示为:注1“ans = 6”表示矩阵C中位于第2行、第3列的元素为6;其中“ans”是MATLAB的一个内部变量,意即“答案(answer)”.注2定义了新元素 a (5) = -a (1) = -10 后,原来维数为3的向量a,其维数自动扩大为5了,未定义的 a(4)则自动置为0,输出的a = [ 10 11 12 0 -10 ] 就是经扩维后得到的新向量.在MATLAB中没有维数说明语句,它会自动确定矩阵的维数.(4)特殊矩阵●size(A)查询矩阵A的维数.●ones()产生全1矩阵.用法如下:ones ( n ) 产生全1(n⨯n) 矩阵;ones ( m, n ) 产生全1(m⨯n)矩阵;ones (size (A)) 产生与A同维数的全1矩阵.● zeros () 产生全0矩阵,用法同上.● eye () 产生单位矩阵(主对角线元素为1,其他元素为0),用法同上. ● diag () 产生对角矩阵:若v 是n 元向量(行向量或列向量),则diag ( v ) 是一个 n 阶的方阵,其主对角线元素为 v ,其他元素为0.(5)几个内部永久变量 ● pi 即圆周率π.● eps 浮点相对精度.对于大多数PC 机的IEEE 算术标准,eps = 16521022.22--⨯≈.● inf 无穷大.产生 inf 的方法之一是 1/0,除数为0时不会导致终止运行, 但会给出警告信息.● NaN 非数( Not a Number ).由0/0、inf /inf 或 inf - inf 得到.五、矩阵运算和数组运算矩阵的代数运算在MATLAB 中分为“矩阵运算”和“数组运算”两种操作.其中,矩阵运算是按照线性代数运算法则定义的;数组运算是按元素逐个执行的.两者的区别主要体现在相乘、相除与乘方三种运算上.列表如下:六、数组函数和矩阵函数数组函数 f (A)是对数组A( 矩阵或向量 )的元素逐个执行运算 f .数组函数表下列矩阵函数的意义与线性代数中的定义相同.矩阵函数表七、数据可视化MATLAB具有很强的绘图功能.[例一]绘制正弦曲线和二次曲线的图形.x=-pi:pi/100:pi;y=sin(x);subplot(1,2,1), plot(x,y);%把正弦曲线绘在一行二列的1号子窗口 x1=-1:0.1:1;y1=x1.^2;subplot(1,2,2),plot(x1,y1) %把二次曲线绘在一行二列的2号子窗口注 上面绘图程序还可简化为:y=sin([-pi:pi/100:pi]); y1=[-1:0.1:1].^2;subplot(1,2,1), plot(y);supplot(1,2,2), plot(y1)[例二]绘制下列曲面的图形:2222)sin(yx y x z ++=.clf; %清除当前图形窗口[x,y]= meshgrid(-8:0.5:8); %生成网格点坐标(x,y ) r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r;mesh(x,y,z); colormap([1,0,0]) %绘出曲面网线图(红色)八、关于MATLAB NotebookMathworks 公司开发的MATLAB Notebook 成功地把Microsoft Word 与MATLAB 集成为一个整体,为文字处理、科学计算、工程设计营造了一个完美统一的工作环境.Notebook 是“活”的笔记本.在该笔记本中的计算指令可随时修改、即时解算,并能方便地作出图示.这对于撰写科技报告、论文和编写理工学科的教材讲义都是十分宝贵的. Notebook 文件又称为 M-book ( 它使用了Word 中的 M-book .dot 模板 ).在MATLAB 文件夹中打开子文件夹Notebook ,就会看到M-book .把它发送为桌面快捷方式,以便使用时作快速访问.先启动MATLAB ,然后启动M-book ( 在Word 窗口的菜单栏里会出现“Notebook ”). 在英文状态下输入一组指令;然后用鼠标把它们选中,再按[Ctrl +Enter ]组合键;那组指令变成绿色,并会被执行(计算所得结果显示为蓝色,若出现红色文字,那是出错提示). 这类操作也可以在[Notebook ]下拉菜单中去选择.有关MATLAB 编程,请大家到下一节丰富多彩的例子中去体会、学习.§2 微积分 MATLAB 实验演示一、用可视化程序绘制下列曲线和曲面的图形( 1 ) ]5,5[]5.0,5.0[,3,32-∈-∈+==t t t t y t x 与.clf; syms t; x=t^2; y=3*t+t^3;subplot(1,2,1); ezplot(x,y,[-0.5,0.5]); grid; subplot(1,2,2); ezplot(x,y,[-5,5]); grid( 2 ) 0333=-+y x y x 及其渐近线 01=++y x . clf; syms x y; hold on;ezplot(x^3 + y^3–3*x*y,[-2,2]); ezplot(x+y+1,[-2,2]); grid( 3 ) 曲面 2222y x y x y x z +-= .[ 基本法 ]clf; u= -10:0.5:10; [x,y]=meshgrid(u,u); z=x.*y.*(x.^2-y.^2)./(x.^2+y.^2+eps);mesh(x,y,z); colormap([1,0,1])[ 符号函数法( 并显示等高线 ) ]clf;syms x y; colormap([1,0,0]);ezmeshc(x*y*(x^2-y^2)/(x^2+y^2));二、计算极限、导数和积分( 1 ) 求极限:nn h n x M hx h x L )1(lim ,)ln()ln(lim0-=-+=∞→→和 . syms h n xL=limit('(log(x+h)-log(x))/h',h,0) M=limit('(1-x/n)^n',n,inf)L =1/xM =exp(-x)( 2 ) 22d d ,d d ,d d ,sin xyC a y B x y A ax y ====求. syms a x; y=sin(a*x); A=diff(y,x) B=diff(y,a) C=diff(y,x,2)A = cos(a*x)*aB = cos(a*x)*xC = -sin(a*x)*a^2( 3 ) 计算以下不定积分、定积分、反常积分:x x x x I d )22(1222⎰+-+=, x xx xJ d cos sin cos 2/0⎰π+=, ⎰+∞-=d e 2xK x .syms xf=(x^2+1)/(x^2-2*x+2)^2; g=cos(x)/(sin(x)+cos(x)); h=exp(-x^2); I=int(f)J=int(g,0,pi/2)K=int(h,0,inf)I =1/4*(2*x-6)/(x^2-2*x+2)+3/2*atan(x-1) J =1/4*piK =1/2*pi^(1/2)三、符号求和与 Taylor 展开( 1 ) 求级数∑∞=121n n的和S, 以及前十项的部分和S1. syms kS=symsum('1/k^2',1,inf)S1=symsum('1/k^2',1,10)S =1/6*pi^2S1 =1968329/1270080注 当级数的通项较简单时,上面程序中加单引号的 ' 1 / k^2 ' 可以省略单引号.在其他类似情形下,同样如此.( 2 ) 求级数∑∞=-2)1(n nn n x 的和函数S2.syms kS2=symsum('x^k/k/(k-1)',k,2,inf)S2=simplify(S2)S2 =1/2*x^2*(2/x*(-log(1-x)/x-1)*(x-1)-1/(x-1)*(-2*x+2)) S2 =-log(1-x)*x+log(1-x)+x注 最末的 “ simplify( S2 )”为简化函数,用来简化上面得到的“S2” .( 3 ) 设 x x g xx f sin 4e )(,21)(=+=.给出 f ( x ) 在 x = 1 处的3阶Taylor展开式和g ( x ) 在x = 0 处的Taylor 展开式的前面三个非零项 .syms xf=1/(2+x^4); Tf=taylor(f,4,1) g=exp(sin(x)); Tg=taylor(g,3,0)Tf =7/9-4/9*x-2/27*(x-1)^2+44/81*(x-1)^3 Tg =1+x+1/2*x^2四、Taylor 逼近与Fourier 逼近的直观演示( 1 ) 用Taylor 多项式逼近 y = sin x . 已知正弦函数的Taylor 逼近式为∑=----=≈nk k k k x x P x 1121!)12()1()(sin .下面给出这个逼近过程的直观图形:clf; syms x t;ezplot(t,0,[0,2*pi]); hold on; A=[1.5 3 4 4 5.4]; for n=1:5 P=0;for k=1:1:nP=P+(-1)^(k-1)*x^(2*k-1)/prod(1:(2*k-1)); end;( 2 ) 用 Fourier 多项式逼近矩形波 )(x f .设 )(x f 在一个周期上为⎪⎩⎪⎨⎧ππ-=π<<<<π--=.,0,,00,10,1)(x x x x f对它作Fourier 级数展开,得到∑∞=--π=1)12sin(1214)(k x k k x f .下面在一个周期上,将Fourier 级数的前一项、前两项和前七项分别进行叠加,从图 象上可以清晰地看到这个逼近过程 .clf; syms x tN=[1 2 7]; hold on;ezplot(t,0,[-pi,pi]); ezplot(0,t,[-2.5,2.5]); for n=1:3 F=0;for k=1:1:N(n)F=F+4*sin((2*k-1)*x)/(2*k-1)/pi; end;五、函数项序列一致收敛的直观启示例如,已知三个函数序列:{}{}{}{}{}.),0[,)1(1)(;]1,0[,e)(;]5,0[,e )(222222222∞+∈⎭⎬⎫⎩⎨⎧+-=∈=∈=--x x n x n x h x x n x g x x n x f n x n n x n n通过作出它们的图象,根据一致收敛的几何意义来观察它们的一致收敛性. ( 1 ) 作出 {})(x f n 的一族曲线如下:clf; hold on; x=0:0.02:5; for n=1:8y=n*x.^2.*exp(-n.*x); plot(x,y); end ;由图可见,{})(x f n 中每条曲线的峰值将随着 ∞→n 而趋于0 , 故{})(x f n 能在 [ 0, 5 ] 上一致收敛 于 0 .( 2 ) 作出 {})(x g n 的一族曲线如下 :clf; hold on;x=0:0.01:1; for n=5:-1:1y=n^2*x.*exp(-n^2*x.^2); plot(x,y); end ;由图可见,)(x g n 的峰值将随着 ∞→n 而趋于∞+,故在 x = 0 的任意小右邻域内,{})(x g n 不可能一致收敛;但是对于任意小的正数 a , {})(x g n 在 [ a , 1 ] 上仍有可能一致收敛 于 0 .( 3 ) 作出 {})(x h n 的一族曲线如下:clf; hold on; x=0:0.01:3; for n=1:1:5y=(1-n^2*x.^2)./(1+n^2*x.^2).^2; plot(x,y); end ;由图可见,极限函数在x = 0 处不连续,故 在x = 0 的任意小右邻域内, {})(x h n 不可能一致收敛;但在任何 [)()∞+⊂∞+,0,a 上, {})(x h n 仍有可能一致收敛 于 0 .实 验 作 业1.用可视化程序绘制下列曲线和曲面的图形:(1)]2,2[,1323-∈+--=x x x x y ;(2)222y x z -=.2.已知plot 3是三维曲线图函数.请你先想一想:由指令pi])*[0,8t,cos(t),n(t),ezplot3(si t;syms能绘出怎样的曲线?再把此指令键入MATLAB 指令窗,看看实际绘出的曲线与你所想的结果是否相同?3.著名的莫比乌斯带(如图) 的一个参数描述是:⎪⎩⎪⎨⎧===+=.)2/(sin ,sin ,cos ,)2/cos(t s b z t r y t r x t s b a r其中b a ,为常数,例如取 1,2==b a ;参数]2,0[,]1,1[π∈-∈t s .请你用符号函数绘图法绘制出它的 图形.4.用MATLAB 求极限:xx L xx e-+=→10)1(lim .5.用MATLAB 求下列积分: (1)⎰++2x-x 2x)(1d x (化简结果);(2)⎰+∞2sin x x d .6.用MATLAB 求幂级数∑∞=+---1212114)1(n n n n x 的和函数(化简结果).。

第03讲 (2010)MATLAB在微积分运算中的应用

第03讲  (2010)MATLAB在微积分运算中的应用
1
1. 极限
(1) 对极限定义的认识
练习1 用下面的语句观察数列的前100项变化情况 n=1:100; a=n.^(n.^(-1)) 为了更清楚地观察其是否收敛,读者可将项数增大一些
对于该数列,我们再用语句:
plot(n,a,'.') 画出其散点图,借助于图形来观察它的变化趋势。
2
1.45 1.4 1.35 1.3 1.25 1.2 1.15 1.1 1.05 1
10
(1) 求导命令diff 在MATLAB软件中,可用语句
diff(f(x),x)
计算函数的导函数,当然在使用前需先将x 定义成符号变量 。 若要求f(x) 在x=a处的导数,可用subs命令, 只要将x=a赋给上面的导函数便可得到 。 而命令 diff(f(x), x, n) 求的是函数f(x)对x的n阶导函数。
24
例10 计算不定积分 sin 2 x sin 3 x sin 4 xdx
clear syms x; y=sin(2*x)*sin(3*x)*sin(4*x)
y= sin(2*x)*sin(3*x)*sin(4*x) int(y)
ans =
-1/20*cos(5*x)-1/12*cos(3*x)+1/36*cos(9*x)-1/4*cos(x) pretty(ans) - 1/20 cos(5 x) - 1/12 cos(3 x) + 1/36 cos(9 x) - 1/4 cos(x)
运行该程序可判断出: xn与yn有极限,且这两极限值 是相等的。 (x100=1.456791E+000,y100=1.456791E+000。
9
2. 导数与微分 在MATLAB中由命令函数diff()来完成运算, 其具体形式为:

MATLAB 数学实验 第三章

MATLAB 数学实验 第三章
5/20
微积分符号计算 diff(f) — 对缺省变量求导数 diff(f,v) — 对指定变量 v 求导数 diff(f,v,n) —对指定变量 v 求n阶导数 对指定变量 阶导数 int(f) — 对f表达式的缺省变量求积分 表达式的缺省变量求积分 int(f,v) — 对f表达式的 变量求积分 表达式的v变量求积分 表达式的 int(f,v,a,b) — 对f表达式的 变量在 b] 表达式的v变量在 表达式的 变量在[a, 区间求定积分
绕X轴旋转的旋转曲面体积 轴旋转的旋转曲面体积 2π V = π ∫ [ f ( x )]2 dx 0 syms a b x f=exp(a*x)*sin(b*x); f1=subs(f,a,-0.2); f2=subs(f1,b,0.5); V=pi*int(f2*f2,x,0,2*pi) double(V) V =pi*(-125/116*exp(-4/5*pi)+125/116) ans = 3.1111
16/20
1 2 y2 例3.26 解微分方程 y ′ = 2 x +1
y ( 0) = 0
命令格式:dsolve('eq1',,'con1',,'x') y的一阶导数—— Dy, y的二阶导数—— D2y
y = dsolve('Dy=1/(1+x^2)-2*y^2','y(0) = 0','x') y= 2*x/(2*x^2+2) 符号解: 符号解: y(x)= x / (1 + x 2)
12/20
定积分数值计算命令 quad(f, a, b) t 例3.14 计算积分上限函数值 F (t ) = ∫
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Name s x
Size 1x4 1x1
Bytes Class 32 double array 126 sym object
7/20
例3.7计算 f = 1/(5+4cos(x)) 关于x的导数
1/(5+4 cos(x))
syms x f=1/(5+4*cos(x)) ezplot(f) f1=diff(f,x,1) ezplot(f1) f1 = 4/(5+4*cos(x))^2*sin(x)
1 0.8 0.6 0.4 0.2
-6
-4
-2
0 2 x 4/(5+4 cos(x))2 sin(x)
4
6
1
0.5
0
-0.5
-1 -6 -4 -2 0 x 2 4 6
8/20
例3.9 计算不定积分
e ax sin(bx )dx
syms x int(exp(a*x)*sin(b*x)) g=simplify(ans) g= exp(a*x)*(-b*cos(b*x)+a*sin(b*x))/(a^2+b^2) diff(g) f=simplify(ans) f = exp(a*x)*sin(b*x)
区间求定积分
6/20
例3.6 验证求导数公式
sin
(k )
x sin (x k

2
)
(k=1,2,3,4 )
syms x s=[diff(sin(x),1)==sin(x+pi/2); diff(sin(x),2)==sin(x+pi); diff(sin(x),3)==sin(x+3*pi/2); diff(sin(x),4)==sin(x+2*pi)] s= 1 1 1 1 whos
11/20
例3.12 计算二重积分

D
x sin y dxdy
2
D {( x, y ) | 0 x 1,0 y } syms x y
f=x^2*sin(y); int(int(f,x,0,1),y,0,pi) ezmesh(f,[0,1,0,pi])
ans = 2/3
12/20
1 ax e sin(bx)dx a 2 b 2 e [a sin(bx) b cos(bx)]
ax
9/20
数据转化为数值数据: double(A) numeric(A) 例3.11 计算曲线段 f(x)=exp(a x)sin(b x), 0 x 2
绕X轴旋转的旋转曲面体积 2 V [ f ( x )]2 dx 0 syms a b x f=exp(a*x)*sin(b*x); f1=subs(f,a,-0.2); f2=subs(f1,b,0.5); V=pi*int(f2*f2,x,0,2*pi) double(V) V =pi*(-125/116*exp(-4/5*pi)+125/116) ans = 3.1111
在符号计算中, 符号表达式是主要操作对象. 符号表达式——符号变量、运算符、函数、数字组成 在定义符号表达式之前,首先要创建符号变量. 符号变量创建方法 syms 符号变量1 符号变量2 ·· ·· ··
2/20
例3.2 用符号表达式定义 f(x)= e-0.2xsin0.5x 并绘图. syms x ; f = exp(-0.2*x)*sin(0.5*x); ezplot(f,[0,8*pi])
20/20
符号解:
y(x)= x / (1 + x 2)
17/20
旋转曲面绘制方法 非负函数 y =f(x)在有限区间上的图形为上半平面 的一条曲线,曲线绕x轴旋转时,产生以x为对称 轴的旋转曲面,方程为
0.8 0.6
y z f ( x)
2 2
0.4 0.2
绘制网面需创建三维坐标 矩阵,对某一确定的x=t,旋 转曲面上对应于过点x=t 垂直于X轴的圆,该圆周上 所有点的X坐标不变,y和 z的坐标则满足圆的方程
符号计算与微积分
符号表达式及其应用
微分和积分符号计算
台劳展开式符号计算 旋转曲面绘制方法
1/20
符号计算又称为计算机代数,以符号形式处理数学表 达式,关注准确的计算和公式推导。符号计算不仅用 于数学研究,还可以用于工程计算 。1993年 MathWorks公司购买Maple的使用权,开发了符号计算 工具箱——Symbolic Math Toolbox.

/2
0
1 e 2 cos2 t dt
ans= 1/2*pi-1/8*e2*pi-3/128*e2^2*pi

/2
0
1 2 3 4 1 e cos t dt (1 e e ) 2 4 64
2 2

15/20
定积分近似计算实验 syms e2 t f=sqrt(1-e2*cos(t)^2); S1=inline('1/2*pi-1/8*E2*pi-3/128*E2^2*pi'); E2=0.2;P=[];Q=[]; for k=1:5 E2=E2+.1; P=[P,S1(E2)]; f1=subs(f,e2,E2); S=int(f1,0,pi/2); Q=[Q,double(S)]; end [Q;P] 符号计算 1.4454 1.3994 1.3506 1.2984 1.2417 近似计算 1.4464 1.4019 1.3560 1.3087 1.2598
19/20
思考题与练习题
1. 用syms x 定义了符号变量,表达式 Y=exp(-0.2*x)*sin(0.5*x)与一般表达式有何不同 2.定积分符号计算与数值计算有何不同? 3.旋转曲面的面积计算公式如何构造? 4.写出曲线 y=f(x)绕y轴旋转的旋转曲面方程 5.下面两个曲面是由同一个平面曲线旋转产生的,这个 平面曲线的方程是什么?
练习:分别用simple和simplify对符号表达式 cos(x)^2-sin(x)^2 进行化简,观察结果
5/20
微积分符号计算
diff(f) — 对缺省变量求导数 diff(f,v) — 对指定变量 v 求导数 diff(f,v,n) —对指定变量 v 求n阶导数 int(f) — 对f表达式的缺省变量求积分 int(f,v) — 对f表达式的v变量求积分 int(f,v,a,b) — 对f表达式的v变量在[a, b]
10/20
注记:旋转曲面的绘图方法如下 theta=linspace(0,2*pi,20); r=exp(-.2*theta).*sin(0.5*theta); cylinder(r) [X,Y,Z]=cylinder(r); figure,mesh(Z,X,Y) colormap([0 0 1])
0
0
1
2
3
ห้องสมุดไป่ตู้
4
5
6
7
18/20
曲线
f ( x ) e 0.2 x sin( .5 x ) 绕X轴旋转图形绘制 0
f=inline('exp(-0.2*x).*sin(0.5*x)'); t=(0:20)*pi/10; 2 2 y z f ( x) theta=t;r=f(t); x=t'*ones(size(t)); xt y f (t ) cos y=r'*cos(theta); z f (t ) sin z=r'*sin(theta); mesh(x,y,z) colormap([0 0 0]) axis off view(-17,54)
S2 k 2 1 22 n2
k 1 n
14/20
taylor(f,n,x) —n-1次麦克劳林多项式展开
taylor(f,n,x,a) —a点的n-1次泰勒多项式展开.
例3.21求椭圆积分近似表达式
syms t e2 x f=sqrt(1-e2*x) F=taylor(f,3,x) g=subs(F,x,cos(t)^2) int(g,0,pi/2)
16/20
1 2 y2 例3.26 解微分方程 y 2 x 1
y ( 0) 0
命令格式:dsolve(‘eq1’,···,’con1’,···,’x’) y的一阶导数—— Dy, y的二阶导数—— D2y
y = dsolve('Dy=1/(1+x^2)-2*y^2','y(0) = 0','x') y= 2*x/(2*x^2+2)
4/20
化简符号表达式方法——simplify
例3.4 用符号计算验证三角恒等式
sinx1 cos x2 cos x1 sinx2 sin(x1 x2 )
syms x1 x2; y1= sin(x1)*cos(x2)-cos(x1)*sin(x2); y2=simple(y1) expand(y2) y2 = sin(x1-x2) ans = sin(x1)*cos(x2)-cos(x1)*sin(x2)
Whos Name Size Bytes Class f 1x1 168 sym object x 1x1 126 sym object
3/20
符号表达式中变量替换方法
S1=subs(S, ‘old’, ‘new’)
用‘new’置换符号表达式S中的’old’ 例3. 3输入不同的参数a,b绘制函数的图形 f(x)=exp(-a x)sin(b x) syms a b x f=exp(-a*x)*sin(b*x); f1=subs(f,a,0.8); f2=subs(f1,b,0.5); ezplot(f2,[0,2*pi])
1.5
相关文档
最新文档