Matlab求解微积分的实例 附程序

合集下载

MATLAB教程【5】微积分

MATLAB教程【5】微积分
将结果乘以h。 要 将结果乘以 。
Z=trapz(x,y) 计算 对x的梯形积分,其中 、y定义函数关系 计算y 的梯形积分, 定义函数关系y=f(x)。 的梯形积分 其中x、 定义函数关系 。 Z=trapz(x,y,dim) 对dim指定的 的维进行积分。 指定的y的维进行积分 指定的 的维进行积分。
1.4.7 数 值 积 分
一、数值积分的基本原理
b b
I1 = ∫ f ( x)dx, I 2 = ∫ p ( x)dx
a a
f(b)
T=
b−a [ f (a ) + f (b )] 2
梯形公式
f(a)
将积分区间[a,b]划分为 等份,步长 划分为n等份 将积分区间 划分为 等份, h=(b-a)/n,xk=a+bk构造求积公式 构造求积公式
( I n = ( b − a )∑ C k n ) f ( x k ) k =0 n
牛顿 − 柯特斯公式
a
b n = 1即梯形公式, n = 2时为辛普生公式 即梯形公式,
b−a a+b S= [ f (a ) + 4 f ( ) + f ( b )] 6 2
1.4.7 数 值 积 分
二、数值积分的实现 1、梯形积分:对矢量、矩阵和多维列阵进行梯形积分 、梯形积分:对矢量、 Z=trapz(y) 计算 的数值梯形积分,步长默认为 ,若不是 而是 , 计算y 的数值梯形积分,步长默认为1,若不是1 而是h,
例:用不同的方法求函 数 f ( x )的数值导数并作图 f ( x) = f '( x) = x 3 + 2 x 2 − x + 12 + 6 x + 5 + 5 x + 2 3x2 + 4x − 1 2 x + 2 x − x + 12

matlab微积分基本运算

matlab微积分基本运算

matlab 微积分基本运算§1 解方程和方程组解1. 线性方程组求解对于方程 AX = B ,其中 A 是( m ×n )的矩阵有三种情形:1)当n=m 且A 非奇异时,此方程为“恰定”方程组。

2)当 n > m 时,此方程为“超定”方程组。

3)当n<m 时,此方程为“欠定”方程组。

下面就三种情形的求解分别作一说明:(1) MATLAB 解恰定方程 A* X = B 的方法1)采用求逆运算解方程x=inv(A)*B2)采用左除运算解方程x=A\B例1 “求逆”法和“左除”法求下列方程组的解⎪⎪⎪⎩⎪⎪⎪⎨⎧=+=++=++=++=+150650650651655454343232121x x x x x xx x x x x x x在Matlab 编辑器中建立M 文件fanex1.m :A=[5 6 0 0 01 5 6 0 00 1 5 6 00 0 1 5 60 0 0 1 5];B=[1 0 0 0 1]';R_A=rank(A) %求秩X1=A\B %用"左除"法解恰定方程所得的解X2=inv(A)*B %用"求逆"法解恰定方程所得的解运行后结果如下R_A =5X1 =2.2662-1.72181.0571-0.59400.3188X2 =2.2662-1.72181.0571-0.59400.3188两种方法所求方程组的解相同。

(2)MATLAB 解超定方程AX=B 的方法对于方程 AX = B ,其中 A 是( m ×n )的矩阵, n > m ,如果A 列满秩,则此方程是没有精确解的。

然而在实际工程应用中,求得其最小二乘解也是有意义的。

基本解法有:1)采用求伪逆运算解方程x=pinv(A)*B说明:此解为最小二乘解x=inv(A ’*A)*A*B,这里pinv(A) =inv(A ’*A)*A.2)采用左除运算解方程x=A\B例2 “求伪逆”法和“左除”法求下列方程组的解⎪⎩⎪⎨⎧=+=+=+12214212212121x x x x x x命令如下:>> a=[1 2;2 4;2 2];>> b=[1,1,1]';>> xc=a\b %用左除运算解方程运行得结果:xc =0.40000.1000>> xd=pinv(a)*b %用求伪逆运算解方程运行得结果:xd =0.40000.1000>> a*xc-b %xc 是否满足方程ax=b运行得结果:ans =-0.40000.20000.0000可见xc 并不是方程的精确解。

MATLAB课件第九篇微积分基础

MATLAB课件第九篇微积分基础

第九章微积分基础1函数的极限(符号解法)一元函数求极限函数 limit格式 limit(F,x,a) %计算符号表达式F=F(x) 当x→a时的极限值。

limit(F,a) %用命令findsym(F)确信F中的自变量,设为变量x,再计算F当x→a时的极限值。

limit(F) %用命令findsym(F)确信F中的自变量,设为变量x,再计算F当x→0时的极限值。

limit(F,x,a,'right')或limit(F,x,a,'left') %计算符号函数F的单侧极限:左极限x →a- 或右极限x→a+。

【例1】>>syms x a t h n;>>L1 = limit((cos(x)-1)/x)>>L2 = limit(1/x^2,x,0,'right')>>L3 = limit(1/x,x,0,'left')>>L4 = limit((log(x+h)-log(x))/h,h,0)>>v = [(1+a/x)^x, exp(-x)];>>L5 = limit(v,x,inf,'left')>>L6 = limit((1+2/n)^(3*n),n,inf)计算结果为:L1 =L2 =infL3 =-infL4 =1/xL5 = [ exp(a), 0] L6 = exp(6)注:在求解之前,应该先声明自变量x,再概念极限表达式fun,假设0x 为∞,那么能够用inf 直接表示。

若是需要求解左右极限问题,还需要给出左右选项。

【例2】 试别离求出tan 函数关于pi/2点处的左右极限。

>> syms t;f=tan(t);L1=limit(f,t,pi/2,'left'), L2=limit(f,t,pi/2,'right') L1 = Inf L2 = -Inf【例3】求以下极限1)312lim20+-→x x x 2)x x x t 3)21(lim +∞→解:编程如下:>>syms x t ;L1 = limit((2*x-1)/(x^2+3)) >>L2 = limit((1+2*t/x)^(3*x),x,inf)回车后可得: L1 = -1/3 L2 = exp(6*t) 多元函数求极限求多元函数的极限能够嵌套利用limit()函数,其挪用格式为:limit(limit(f,x,x0),y,y0)或limit(limit(f,y,y0),x,x0)【例4】求极限:x xy y x )sin(lim 30→→>> syms x y;f=sin(x*y)/x;limit(limit(f,x,0),y,3)ans = 3注:若是x0或y0不是确信的值,而是另一个变量的函数,如)(y g x →,那么上述的极限求取顺序不能互换。

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求解微积分

第三章 微积分的数学实验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,’le ft') 求函数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第三章

第三章微积分问题的计算机求解一、实验内容:题目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微积分数值计算

相同维数的向量U,且 1 U1 2 ( V4 4V3 5V2 2V1 ) h 1 U i 2 (Vi 1 2Vi Vi 1 ), (1 i n) h 1 U n 2 (2Vn 5Vn 1 4Vn 2 Vn 3 ) h 默认的步长为1。 U=4*del2(V,h1,h2),对矩阵V,横向(x方向)以步长h1,纵向(y方
diff调用格式为:
Dy=diff(Y):计算向量Y的向前差分,并把结果赋值给向量Dy Dy(i)=Y(i+1)-Y(i),i=1,2,…,n-1。注意向量Dy元素个数比Y少一个
Dy=diff(Y,n):计算向量Y的n阶向前差分。注意向量Dy元素个数比Y少n个.例如:
diff(Y,2)=diff(diff(Y))=DX(i+1)-DX(i)= Y(i+2)-2Y(i+1)+Y(i) , i=1,2 ……n-2。
计算积分,可以采取逐步缩小步长h的办法。即先任
取步长h进行计算,然后取较小步长 h’ 进行计算,如果两
次计算结果相差较大,则取更小步长进行计算,如此下去, 直到相邻两次计算结果相差不大为止,取最小步长算出的 结果作为积分值。这种方法称为变步长积分法。 利用两种步长计算积分时,通常取h’=h/2 。而每次
x
4
精度为O(∆X4)的高阶中心差分算法
yi yi yi yi 2 8 yi 1 8 yi 1 yi 2 12 x yi 2 16 yi 1 30 yi 16 yi 1 yi 2 12 x
2
yi 3 8 yi 2 13 yi 1 13 yi 1 8 yi 2 yi 3 8 x
7.1 数值微分 7.2 数值积分 7.3 常微分方程的数值解法

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求解

微积分问题的MATLAB求解
约束优化 线性规划 linprog 非线性规划 fmincon fminimax fgoalattain fseminf 二次规划 quadprog
0-1规划(bintprog)
非线性最小二乘 lsqnonlin lsqcurvefit
其他规划ga gamultiobj simulannealbnd patternsearch threshacceptbnd 上下界 约束 fminbnd fmincon lsqnonlin lsqcurvefit
fun
H
A,b
Aeq,beq vlb,vub X0 x1,x2 options
A矩阵和b向量分别为线性不等式约束: linprog,quadprog,fgoalattain, fmincon,fminimax AX≤b中的系数矩阵和右端向量 Aeq矩阵和beq向量分别为线性等式约 束Aeq*X=beq中的系数矩阵和右端向量 X的下限和上限向量 迭代初始点坐标 函数最小化的区间 优化选项参数结构 linprog,quadprog,fgoalattain, fmincon,fminimax linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit, lsqnonlin 除fminbnd外所有函数 fminbnd 所有优化函数
内寻找一个近似零点。 solve(f)求解表达式f的代数方程,求解变量为默认变量。 solve(f,x)求解变量为x sovle(f1,f2,...,fn,x1,x2,...,xn)求解f1,f2,...,fn表示的代数方程组。
例如:
三. 微商的计算
3.1符号导数
diff函数用于对符号表达式求导数,该函数的调用形式为: diff(f)没有指定变量和导数阶数,系统按照findsym函数指示的默认变量求一阶导数 diff(f,x) diff(f,n)按findsym函数指示的默认变量求n阶导数,n必须为正整数。 diff(f,x,n)

第7章MATLAB微积分运算

第7章MATLAB微积分运算
6
例 7-6
编制如下程序
clear;clc; [X, Y, Z] = sphere(20); surfnorm(X, Y, Z) axis square box on
运行结果如图7-5所示
图 7-5
7
7.1.2 符号微分
例 7-7
编制如下命令文件
clear;clc; F='sin(3*x)' Fx=diff(F,'x') Fxx=diff(F, 'x', 2)
运行结果如图7-1所示 图 7-1
3
例 7-3
编制如下程序
clear;clc; n = 360 x = linspace(0, 2*pi, n); y = exp(-0.2*x).*(cos(x)+sin(x)); dy = diff(y); dx = diff(x); dyx = dy./dx; plot(x,y,'r-') hold on plot(x(1:n-1),dyx,'b-.') legend('y','dy/dx')
运算结果为
F= sin(3*x) Fx =
3*cos(3*x)
Fxx =
-9*sin(3*x)
8
例 7-8
编制如下程序
clear;clc; Z = 'exp(a*x+b*y)*(sin(x*y)+sin(x)+cos(y))' Zx = diff(Z, 'x') Zy = diff(Z, 'y') 运行结果为
cos(a*x)+b
F=
(sin(pi*a)+b*a*pi)/a

利用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计算微积分

是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实验1一元微积分

Matlab实验1一元微积分

例题三
(1 x ) e lim x 0 x
(t103.m)
1 x
上机实验
求解极限(t104.m)
(1) lim n n3 3n
n
(2) lim( n 2 2 n 1 n )
n
(3) lim x cot 2 x
x 0
m x (4) lim(cos ) x x (6) lim( x 2 x x)
上机实验
计算下列数值积分
(1) x dx (2) e cos xdx (3)
x 2x 3 0 0
Hale Waihona Puke 1210
1 e 2
x2 2
dx
上机实验
考虑积分I (k )
k 0
sin x dx 2k , 分别用trapz(取步长h=0.1或)
和quadl求I (4),I (6),I (8),I (32)
例题一
求解函数y=xsin(x2-x-1)在[-2,0]上的极值和 最值。 (t106.m)
上机实验
作出下列函数及其导函数的图形,求极值 点、最值点的位置,求出所有驻点以及对 应的二阶导数值,求出函数的单调区间。 (t107.m)
2 2
(1) f ( x) x sin( x x 2), (2) f ( x) 3x 20 x 10,
syms将x定义为符号变量ints返回符号表达式s的不定积分默认变量为tintsx返回符号表达式s关于指定变量x的不定积分intsxab返回符号表达式s关于指定变量x的定积分quadfunabtol抛物线积分法simpson返回积分值fun为被积函数tol为积分精度缺省值1e3quadlfunabtolnewtoncotes积分法返回积分值fun为被积函数tol为积分精度缺省值1e6trapzxy梯形积分法返回积分值x为积分区间离散化变量y表示被积函数是与x同维数的向量例题一求不定积分t108m例题二分别用trapzquadquadlint求定积分t109m上机实验求下列不定积分dxdxdxxdx上机实验计算下列数值积分考虑积分分别用取步长01或

【MATLAB】实验五:数值微积分与方程数值求解

【MATLAB】实验五:数值微积分与方程数值求解

实验五 数值微积分与方程数值求解一、实验目的1. 掌握求数值导数和数值积分的方法。

2. 掌握代数方程数值求解的方法。

3. 掌握常微分方程数值求解的方法。

二、实验内容要求:命令手工 ( )输入1. 求函数在指定点的数值导数。

232()123,1,2,3026x x x f x x x x x==2. 用数值方法求定积分。

(1) 210I π=⎰的近似值。

(2) 2220ln(1)1x I dt xπ+=+⎰3. 分别用三种不同的数值方法解线性方程组。

6525494133422139211x y z u x y z u x y z u x y u +-+=-⎧⎪-+-=⎪⎨++-=⎪⎪-+=⎩4. 求非齐次线性方程组的通解。

1234123412342736352249472x x x x x x x x x x x x +++=⎧⎪+++=⎨⎪+++=⎩解:先建立M 函数文件,然后命令窗口中写命令。

121/119/112/115/111/1110/11100010X k k --⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥=++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦,其中12,k k 为任意常数。

5. 求代数方程的数值解。

(1) 3x +sin x -e x =0在x 0=1.5附近的根。

(2) 在给定的初值x 0=1,y 0=1,z 0=1下,求方程组的数值解。

23sin ln 70321050y x y z x z x y z ⎧++-=⎪+-+=⎨⎪++-=⎩ans =1289/6826. 求函数在指定区间的极值。

(1) 3cos log ()xx x x x f x e ++=在(0,1)内的最小值。

(2) 33212112122(,)2410f x x x x x x x x =+-+在[0,0]附近的最小值点和最小值。

(以下选作题,是微分方程的数值解)7. 求微分方程的数值解。

x 在[1.0e-9,20]2250(0)0'(0)0xd y dy y dx dx y y ⎧-+=⎪⎪⎪=⎨⎪=⎪⎪⎩解:M 文件:运行结果:8. 求微分方程组的数值解,并绘制解的曲线。

第二讲 matlab求微分方程、导数、积分

第二讲  matlab求微分方程、导数、积分

第二讲 导数与微分方程一、实验内容1、实际引例(牛顿冷却模型)警察上午9点钟发现一被谋杀者,并测得尸体温度为32.4℃,一小时以后,尸体的温度变为31.7℃,尸体所在房间的温度是20℃。

如果人的正常体温为36.5℃,并知道热物体冷却速度与自身温度与外界温度之差成正比,试推断谋杀时间。

解设T 为尸体温度,t 为时间(十进制,如10.5代表10点30分),温度的变化率(dt dT )比例常数为K解题关键热物体冷却速度与自身温度与外界温度之差成正比。

即 dtdT =k*(T-20). 该方程就为微分方程,那么如何求解喃?以下为MATLAB 求解过程:T=dsolve('DT=k*(T-20)','T(9)=32.4') %T (9)表示在9点时的温度为32.4℃ ans =(62*exp(k*t))/(5*exp(9*k)) + 20由于10点室温为31.7℃,带入后可求K,命令如下:先输入 solve(''),然后把上面得到的表达式复制进去(62*exp(k*t))/(5*exp(9*k)) + 20k=solve('(62*exp(k*10))/(5*exp(9*k)) + 20=31.7') (带入t=10,T=31.7) k=-0.05810763080728074591965065204834T=(62*exp(k*t))/(5*exp(9*k)) + 20T=20.91915298056906312642973833139/exp(0.05810763080728074591965065204834*t)+20 T=vpa(T,6) (保留几位数)T =20.9192/exp(0.0581076*t) + 20.0t=solve('20.9192/exp(0.0581076*t) + 20.0=36.5')ans =4.08392390395064778268825821864340.083923*60=5.0354即谋杀时间 凌晨4点5分左右二、引例子所涉及的知识点1、首先要列出微分方程,简单的来说出现了变化率(dtdT )。

matlab微积分运算命令与例题

matlab微积分运算命令与例题

对符号函数求 n 阶导 格式:diff(f ,n),其中 f 是符号函数。
1
例 3:求 f (x) (ax tg3x) 2 sin x cos(bx) 的一阶、二阶导数。
解:Matlab 命令为:syms a b x↙ y=(a*x+tan(3*x))^(1/2)+sin(x)*cos(b*x);↙ y1=diff(y);↙ y2=diff(y,2);↙ disp('一阶导数为:'),pretty(y1)↙ 一阶导数为:
2 1/2
(-12 pi a + 9 b )
4 求定积分
定积分的计算是实际问题中经常遇到的问题,定积分计算同样也是较费时间的事情,而 且有时还会遇到因求不出原函数而积不出结果的情况,这些在 Matlab 中,也只要输入一个 命令就可以快速求出定积分值来。
4.1 定积分的符号解法 指令:int(f,v,a,b) f 是被积函数,表示对变量 v 求区间[a,b]上的定积分。
x
e
t
2
dx
2
例 2:求 lim 0
x0
x
t et2
2
dx
0
解:Matlab 命令为:syms t x↙ y1=exp(t^2);y2=t*y1^2;↙ r1=int(y1,t,0,x);r2=int(y2,t,0,x);↙ f=r1^2/r2;↙ limit(f,x,0)↙
ans =
2
x2
解:Matlab 命令为:syms x↙ y=5*x+log(sin(x)+exp(sin(x)));↙ limit(y,x,3,'left')↙ ans = 15+log(sin(3)*exp(-sin(3))+1)+sin(3)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

End
freexyn 编程实例视频教程系列 13 matlab 与微积分
d4=diff(f,y,2) d5=diff(diff(f,y),y) d4=diff(f,y,3) diff(f,y,x) d6=diff(diff(f, y), x) diff(f,y,x,x) 本系列教程会持续更新 欢迎交流和留言 原文作者:freexyn
f=1/x limit(f,x,inf) limit(f,x,0) syms x deltax l1=limit((sin(x+deltax) - sin(x))/deltax, deltax, 0) %两个重要极限 syms x limit(sin(x)/x,x,0) limit((1+1/x)^x,x,inf) syms x n l2=limit((1 + x/n)^n, n, inf) %ans,exp(x) %单侧极限值 syms x f=x/abs(x) fplot(f) l3=limit(f, x, 0) ll=limit(f, x, 0, 'left') lr=limit(f, x, 0, 'right')
13.2 导数和微分
1.求导 1.1 求 f = x^3 的导数
freexyn 编程实例视频教程系列 13 matlab 与微积分
1.2 对常数求导,比较符号对象和浮点数的差异 1.3 浮点数的差分运算 作者:freexyn 2.认识函数 diff 3.说明 使用符号运算,可以求解导数、偏导数、高阶导数和混合导数等 使用浮点数运算时,diff 的功能是差分和近似导数 本例 Matlab 程序 clear,clc syms x f = x^3 diff(f,x) d1=diff(f) c = sym('5') d5=diff(c) d6=diff(5) a=[1 3 7 12] diff(a) diff(a,2)
freexyn 编程实例视Байду номын сангаас教程系列 13 matlab 与微积分
Matlab 求解微积分的实例 附程序
13.1 求极限
1.求极限 1.1 计算 lim 和 lim x x 0 1.2 计算 lim x 0 1.3 计算 lim x 0 1.4 计算 lim x 0 2.认识函数 limit 3.说明 广义的极限是指,无限靠近而永远不能到达 极限是一种变化状态的描述,变量永远趋近的值叫做极限值 极限思想是微积分的基本思想,是数学分析中的一个重要概念 若函数在某点的左右极限不相等,matlab 返回 NaN 本例 Matlab 程序 clear,clc %freexyn syms x
1 x 1 x
sin( x x) sin x x
sin x 1 1 和 lim(1 ) x e x x x
x x x lim 和 xlim 、 0 | x | x 0 | x | | x|
freexyn 编程实例视频教程系列 13 matlab 与微积分
freexyn 编程实例视频教程系列 13 matlab 与微积分
13.3 偏导和高阶混合导数
1.求表达式 f = x^3*y + x*y^3 1.1 对 x 和 y 分别求偏导数 1.2 对 y 的三阶导数 1.3 先对 y 再对 x 的二阶混合导数 WX:freexyn(自由未知数) 2.说明 若表达式有多个变量,且未指定求导变量,则 matlab 使用 symvar 函数选择靠字母 x 最近的变量作为求导变量 对多变量的表达式或函数求导时 使用嵌套形式 diff(diff(f))和 diff(f,n)可能会返回不同的结果 为提高性能,diff 函数假设所有混合导数是没有求导顺序差异的 这种假设对大多数的工程和科学问题都是适用的 本例 Matlab 程序 clear,clc syms x y f = x^3*y + x*y^3 d2=diff(f,x) d3=diff(f,y) d2=diff(f) var=symvar(f,1)
相关文档
最新文档