当前位置:文档之家› 高等数学在matlab的解题

高等数学在matlab的解题

第1 章

计算机数学语言概述薛定宇、陈阳泉著《高等应用数学问题的

MATLAB求解》,清华大学出版社2004

CAI课件开发:薛定宇

高等应用数学问题的MATLAB 求解

本章主要内容

?数学问题计算机求解概述

?计算机数学语言概述

?关于本书及相关内容

?本章要点简介

?网络资源简介

1.1 数学问题计算机求解概述

?1.1.1为什么要学习计算机数学语言?

?1.1.2 数学问题的解析解与数值解

?1.1.3数学运算问题软件包发展概述

1.1.1 为什么要学习

计算机数学语言?

?数学问题求解

?手工推导

?借助计算机

?用数值分析技术,从底层编写起

?应用现成软件进行计算机求解?解析解与数值解

先考虑下面一些例子

【例1-1】高等数学问题:已知函数,如何求导及高阶导数?

思路:①由分式求导公式,得出

②逐次求导则可以得出

问题:求导过程很繁杂,容易出错

计算机求解结果

不是最简

基于计算机的化简结果

靠手工推导的方法难以准确得出

手工无从推导,计算机能,<1秒

【例1-2】代数方程求根

?古典方法

?一、二、三、四阶:直接方法

?五阶或以上Abel定理,认为无解

?现代数值方法

?林士谔-Bairstrow 算法,又称为劈因子法?具体实例

?双精度变量的数值方法

?代入方程后的误差

?精确解

【例1-3】矩阵行列式求解问题

?代数余子式

?1 个n 阶行列式可以表示成n 个n-1 阶行列式的

和,…

?可以将高阶矩阵行列式转换成1阶矩阵行列式?结论:任意矩阵行列式解析解存在

?问题:忽略了可计算性

?n=20, 银河机,3000年

?实例:Hilbert 矩阵,n=20

?传统数值分析结论:矩阵奇异

?双精度级别下的数值解-1.1004e-195

该矩阵行列式的精确结果

?近似值

?计算时间0.2 秒

【例1-4】非线性常微分方程组Van der Pol方程

?没有解析解

?传统数值方法

?计算步长选择

?计算时间

?变步长

?刚性方程专用方法

传统数学书上没有的微分方程解法?延迟微分方程例子

?分数阶微分方程

?解决方法:计算机数学语言+算法

【例1-5】最优化问题

?求解方法:一般线性规划

?若找不到全局最优解,可以试遗传算法?若要求为整数--整数规划

其他课程的关系

?其他数学分支

?积分变换、复变函数、偏微分方程、数据插值

与拟合、概率论与数理统计、数值分析

?其他相关课程

?电路、电子技术、电力电子技术、电机与拖动、

自动控制原理

1.1.2 数学问题的解析解与数值解

?数学家和其他科学技术工作者的区别

?数学家:理论严格证明、存在性

?工程技术人员:如何直接得出解

?解析解不能使用的场合

?不存在

?数学家解决方法,引入符号erf(a)

?工程技术人员更感兴趣积分的值数值解

?解析解不能使用的场合

?解析解不存在:无理数,无限不循环小数p

?数学家:尽量精确地取值,小日本60亿位

?工程技术人员:足够精确即可

?祖冲之3.1415926,阿基米德的~3.1418

?解析解存在但不实用或求解不可能

?高阶矩阵行列式

数值解应用场合

?在力学领域,常用有限元法求解偏微分方程;

?在航空、航天与自动控制领域,经常用到数值线性代数与常微分方程的数值解法等解决实际问题;?工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程、常微分方程的数值解法;

?在高科技的数字信号处理领域,离散的快速Fourier 变换(FFT) 已经成为其不可或缺的工具。?…………

1.1.3 数学运算问题软件包发展概述

?享有国际声望的软件包

?线性代数LINPACK

?矩阵特征值计算LINPACK

?NAG (Oxford: Numerical Algorithm Group)

?Press W H, Flannery B P, Teukolsky S A, and

Vitterling W T. Numerical recipes, the art of

scientific computing. Cambridge: Cambridge

University Press, 1986

matlab微积分基本运算

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

0.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 “求伪逆”法和“左除”法求下列方程组的解 ??? ??=+=+=+1 221421 221 2121x x x x x x 命令如下: >> a=[1 2;2 4;2 2]; >> b=[1,1,1]'; >> xc=a\b %用左除运算解方程 运行得结果: xc = 0.4000 0.1000 >> xd=pinv(a)*b %用求伪逆运算解方程 运行得结果: xd = 0.4000 0.1000 >> a*xc-b %xc 是否满足方程ax=b 运行得结果: ans = -0.4000 0.2000 0.0000 可见xc 并不是方程的精确解。 (3) MATLAB 解欠定方程AX=B 的方法 欠定方程从理论上说是有无穷多个解的,如果利用求“伪逆”法和“左除”法来求解,只能得到其中一个解。基本方法: 1)采用求伪逆运算解方程 x=pinv(A)*B 2)采用左除运算解方程

高等数学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 计算不定积分 。 输入命令: syms x; int(1/(x^4*sqrt(1+x^2))) 运行结果: ans = -1/3/x^3*(1+x^2)^(1/2)+2/3/x*(1+x^2)^(1/2) 例3 以几何图形方式演示、理解定积分()b a f x dx ?概念,并计算近似值。 先将区间[,]a b 任意分割成n 份,为保证分割加细时,各小区间的长度趋于0,在取分点时,让相邻两分点的距离小于2()/b a n -,分点取为()()/i i x a i u b a n =++-([0,1]i u ∈为随机数),在每一区间上任取一点1()i i i i i c x v x x +=+-([0,1]i v ∈为随机数)作积分和进行计算,程序如下: function juxs(fname,a,b,n) % 定积分概念演示,随机分割、 随机取近似,并求近似值 xi(1)=a; xi(n+1)=b; for i=1:n-1 xi(i+1)=a+(i+rand(1))*(b-a)/n; end

(完整版)Matlab学习系列15.数值计算—高数篇

15. 数值计算—高数篇 一、求极限 limit(f,x,a)——求极限 lim ()x a f x → limit(f,x,a,'right')——求右极限 lim ()x a f x +→ limit(f,x,a,'left')——求左极限 lim ()x a f x -→ 例1 求 2352 lim sin 53x x x x →∞++ 代码: syms x; y=(3*x^2+5)/(5*x+3)*sin(2/x); limit(y,x,inf) 运行结果:ans = 6/5 注:Matlab 求二元函数的极限,是用嵌套limit 函数实现的,相当于求的是累次极限,需要注意:有时候累次极限并不等于极限。 例2 求 30 lim 2x x x x a b +→?? + ??? 代码: syms x a b; y=((a^x+b^x)/2)^(3/x); limit(y,x,0,'right') 运行结果:ans = a^(3/2)*b^(3/2) 二、求导 diff(f,x,n)——求函数f 关于x 的n 阶导数,默认n=1

例3 求1sin 1cos x y x += +的1阶导数,并绘图 代码: syms x a b; y=((a^x+b^x)/2)^(3/x); limit(y,x,0,'right') 运行结果: y1 = cos(x)/(cos(x) + 1) + (sin(x)*(sin(x) + 1))/(cos(x) + 1)^2 例4 设sin xy z e =,求2,,z z z x y x y ??????? 代码: syms x y; z=exp(sin(x*y)); zx=diff(z,x) zy=diff(z,y) zxy=diff(zx,y) % 也等于diff(zy,x) -5 5 5 10 15 20 25 x (sin(x) + 1)/(cos(x) + 1) -5 05 -20 -15 -10-5 05 10 1520 25x cos(x)/(cos(x) + 1) + (sin(x) (sin(x) + 1))/(cos(x) + 1) 2

实验一B Matlab基本操作与微积分计算

实验一Matlab基本操作与微积分计算 实验目的 1.进一步理解导数概念及其几何意义. 2.学习matlab的求导命令与求导法. 3.通过本实验加深理解积分理论中分割、近似、求和、取极限的思想方法. 4.学习并掌握用matlab求不定积分、定积分、二重积分、曲线积分的方法. 5.学习matlab命令sum、symsum与int. 实验内容 一、变量 1、变量 MA TLAB中变量的命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过19个字符; (4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号. 1、创建简单的数组 x=[a b c d e f ]创建包含指定元素的行向量 x=first:step: last创建从first起,逐步加step计数,last结束的行向量, step缺省默认值为1 x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量 x=logspace(first,last,n)创建从first开始,到last结束,有n个元素的对数分隔行向量. 注:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素. 2、数组元素的访问 (1)访问一个元素: x(i)表示访问数组x的第i个元素. (2)访问一块元素: x(a :b :c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但

不超过c),b可以为负数,b缺损时为1. (3)直接使用元素编址序号: x ([a b c d]) 表示提取数组x的第a、b、c、d个元素构成一个新的数组[x (a) x (b) x(c) x(d)]. 3、数组的运算 (1)标量-数组运算 数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算. 设:a=[a1,a2,…,an], c=标量, 则: a+c=[a1+c,a2+c,…,an+c] a .*c=[a1*c,a2*c,…,an*c] a ./c= [a1/c,a2/c,…,an/c](右除) a .\c= [c/a1,c/a2,…,c/an] (左除) a .^c= [a1^c,a2^c,…,an^c] c .^a= [c^a1,c^a2,…,c^an] (2)数组-数组运算 当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的. 设:a=[a1,a2,…,an], b=[b1,b2,…,bn], 则: a +b= [a1+b1,a2+b2,…,an+bn] a .*b= [a1*b1,a2*b2,…,an*bn] a ./b= [a1/b1,a2/b2,…,an/bn] a .\b=[b1/a1,b2/a2,…,bn/an] a .^b=[a1^b1,a2^b2,…,an^bn] 三、矩阵 1、矩阵的建立 矩阵直接输入:从“[ ” 开始,元素之间用逗号“,”(或空格),行之间用分号“;”(或回车),用“ ]”结束. 特殊矩阵的建立: a=[ ] 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零. b=zeros (m,n) 产生一个m行、n列的零矩阵 c=ones (m,n) 产生一个m行、n列的元素全为1的矩阵 d=eye (m,n) 产生一个m行、n列的单位矩阵 eye (n) %生成n维的单位向量 eye (size (A)) %生成与A同维的单位阵 2、矩阵中元素的操作 (1)矩阵A的第r行A(r,:) (2)矩阵A的第r列A(:,r) (3)依次提取矩阵A的每一列,将A拉伸为一个列向量A(:) (4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2) (5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:) (6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1 ) (7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[ ] (8)删除A的第j1~j2列,构成新矩阵:A(:, j1:j2)=[ ] (9)将矩阵A和B拼接成新矩阵:[A B];[A;B] 3、矩阵的运算 (1)标量-矩阵运算同标量-数组运算. (2)矩阵-矩阵运算 a. 元素对元素的运算,同数组-数组运算.(A/B %A右除B; B\A%A左除B) b. 矩阵运算: 矩阵加法:A+B 矩阵乘法:A*B 方阵的行列式:det(A) 方阵的逆:inv(A)

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

MATLAB_实验04 多元函数微积分

实验04 多元函数微积分 一实验目的 (2) 二实验内容 (2) 三实验准备 (2) 四实验方法与步骤 (3) 五练习与思考 (7)

一 实验目的 1 了解多元函数、多元函数积分的基本概念,多元函数的极值及其求法; 2 理解多元函数的偏导数、全微分等概念,掌握积分在计算空间立体体积或表面积等问题中的应用; 3 掌握MATLAB 软件有关求导数的命令; 4 掌握MATLAB 软件有关的命令. 二 实验内容 1 多元函数的偏导数,极值; 2 计算多元函数数值积分; 3计算曲线积分,计算曲面积分. 三 实验准备 1 建立符号变量命令为sym 和syms ,调用格式为: x=sym('x') 建立符号变量x ; syms x y z 建立多个符号变量x ,y ,z ; 2 matlab 求导命令diff 的调用格式: diff(函数(,)f x y ,变量名x) 求(,)f x y 对x 的偏导数 f x ??; diff(函数(,)f x y ,变量名x,n) 求(,)f x y 对x 的n 阶偏导数n n f x ??; 3 matlab 求雅可比矩阵命令jacobian 的调用格式: jacobian([f;g;h],[],,x y z )给出矩阵 f f f x y z g g g x y z h h h x y z ????? ???? ? ???? ???? ? ???? ?????? 4 MATLAB 中主要用int 进行符号积分,常用格式如下: ① int(s)表示求符号表达式s 的不定积分 ② int(s,x)表示求符号表达式s 关于变量x 的不定积分 ③ int(s,a,b)表示求符号表达式s 的定积分,a ,b 分别为积分的上、下限 ④ int(s,x,a,b)表示求符号表达式s 关于变量x 的定积分,a,b 分别为积分的上、下限 5 MATLAB 中主要用trapz,quad,quad8等进行数值积分,常用格式如下: ① trapz(x,y)采用梯形积分法,其中x 是积分区间的离散化向量,y 是与x 同维数的向量、用来表示被积函数. ② quad8('fun',a,b,tol)采用变步长数值积分,其中fun 为被积函数的M 函数名,a,b 分别为积分上、下限,tol 为精度,缺省值为1e-3. ③ dblquad('fun',a,b,c,d)表示求矩形区域的二重数值积分,其中fun 为被积函数的

高等数学实验报告matlab

西安交通大学 高等数学 实验报告 班级 组员与学号 2013年

实验名称:学生成绩管理 一、实验目的 二、实验内容 三、详细编程 clear for i=1:10 a{i}=89+i; b{i}=79+i; c{i}=69+i; d{i}=59+i; end c=[d,c]; Name=input('please input name:'); Score=input('please input score:'); n=length(Score); Rank=cell(1,n); S=struct('Name',Name,'Score',Score,'Rank',Rank); for i=1:n switch S(i).Score case 100 S(i).Rank='满分'; case a S(i).Rank='优秀'; case b S(i).Rank='良好'; case c S(i).Rank='及格'; otherwise S(i).Rank='不及格'; end end disp(['学生姓名 ','得分 ','等级']);

for i=1:n disp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]); end s=0; for i=1:n s=S(i).Score+s; end averscore=s/n; t=S(1).Score; for i=1:(n-1) if(S(i).ScoreS(i+1).Score) m=S(i+1).Score; end end disp(['平均成绩']); disp([averscore]); disp(['最高分']); disp(t); disp(['最低分']); disp(m); 四、实验结果

(完整版)MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

高等数学实验报告matlab参考答案

成都大学 高等数学 实验报告 (MATLAB版) 班级 姓名 学号 注意: 1 这个答案可由教师保存; 2 每个班级注意保存实验报告。 成都大学高等数学教研室

2011年3月 高等数学实验报告1 基本计算与作图 班级 姓名 学号 完成时间 成绩 一、实验内容 基本计算,函数的表示,函数图形的显示. 二、预期目标 1.熟悉Matlab 软件的基本操作. 2.掌握基本计算,函数的表示与函数的作图命令. 3.学会利用Matlab 软件对函数进行分析研究. 三、练习内容 习题一 1.计算下列各式的值:(写出格式及执行结果,(1)为例式) (1)16 75; >> 75^16 ans = 1.0023e+030 (2) i 31-; (3) 23sin ; >> sqrt(1-3*i) >>sin(23*pi/180) ans = 1.4426 - 1.0398i ans = 0.3907 (4)π 2 arcsin ; (5)!88. >> asin(2/pi) >> factorial(88) ans = 0.6901 ans = 1.8548e+134 2. 3 tan ,2 π==b e a e ,计算: (1)5 3 3 2 532b a ab a -+; (2))sec(arctan a .

>> a=sqrt(exp(exp(1))); b=tan(pi^2/3); >> a=sqrt(exp(exp(1))); b=tan(pi^2/3); >> 2*a^2+3*a*b^3-5*a^3*b^5 >> sec(atan(a)) ans =30.3255 ans =4.0192 3.在计算机上练习以下语句的输入:((1)为求解格式) (1)1432 1 2 -+x bx ax ; (2)1 3ln 42sin 2+-??? ?? +x x x π; >> syms a b x >> syms x >> (3*a*x^2+4*b*x^(1/2))/(x-1) >> (sin(2*x+pi/4)-log(3*x))/sqrt(x^2+1) ans =(3*a*x^2+4*b*x^(1/2))/(x-1) ans = (sin(2*x+1/4*pi)-log(3*x))/(x^2+1)^(1/2) (3)x e x x 22 )2sin (cos -. >> syms x >> (cos(x)^2-sin(2*x))*exp(2*x) ans =(cos(x)^2-sin(2*x))*exp(2*x) 习题二(只写出输入格式) 1. 作出13 y x =的图象 >> x=linspace(0,3,100); >> y=x.^(1/3); >> plot(x,y) 参见图1 2.作出14x y ?? = ???的图象 3.作出14 log y x =的图象 >> x=linspace(-2,2,50); >> fplot('log(x)/log(1/4)',[0.1,3]) >> y= (1/4).^x; >> plot(x,y) 参见图2 参见图3 图1 图2 图3

利用MATLAB求解微积分的方法

第 3 章 (1)M A T L A B 微积分 极限与级数的符号运算 M A T L A B 的极限与级数运算在符号系统中进行 ◆极限运算 ● l i m i t (f , x , a ) 求符号函数f 的极限 ● l i m i t (f , x , a , ’r i g h t ’) 求符号函数f 的右极限 ● l i m i t (f , x , a , ’l e f t ’) 求符号函数f 的左极限 说明:上述命令中的a 可以是无穷大 i n f 或 -i n f ?说明:多元函数的极限需要使用累次极限来计算 举例 ◆级数运算 ● s y m s u m (a n , n , i , j ) 求符号通项a n 的和 其中,当j 为无穷大i n f 时,即为无穷级数。 举例 ◆级数运算 ● t a y l o r (f , n , a , x ) 求符号函数f 在点a 关于变量x 的n -1阶泰勒多项式 举例 ● t a y l o r t o o l 泰勒工具 举例 微积分的符号运算 ◆导函数与偏导函数 ● d i f f (f , x ) 求符号函数f 对x 的一阶导函数或偏导函数 ● d i f f (f , x , n ) 求符号函数f 对x 的n 阶导函数或偏导函数 ● 注:d i f f 是d i f f e r e n t i a l (微分)的缩写 lim () x a f x + →lim () x a f x - →lim ()x a f x →j n n i a =∑

例:计算 ? 问:如何求符号函数在给定点的导数值或偏导数值? 求完导函数或偏导函数之后,使用符号替换命令 s u b s 可以求得导函数值或偏导函数值 ◆不定积分与定积分 ● i n t (f , x ) 求符号函数f 关于变量x 的不定积分 ● 注:i n t 是i n t e g r a t i o n (积分)的缩写 ● i n t (f , x , a , b ) 求符号函数f 关于变量x 的定积分,a 、b 分别是积分下限和上限,a 、b 可以是函数表达式,也可以是无穷大i n f 或-i n f 举例 ● 对于定积分,当系统求不出精确解时,如果被积函数中不含待定符号,可以使用v p a 命令给出近似解 例如: s y m s x a =i n t (s i n (s i n (x )), 1, 2) v p a (a ) ?说明: ● 参数方程求导和隐函数求导需要使用相关数学公式(见教材66-67页) ● 重积分、曲线积分与曲面积分需要使用数学方法转化为累次积分来计算 微积分的数值运算 ◆微积分的数值运算特点 采用数值算法,主要用于解决导数和定积分的近似计算问题 还可以解决离散数据的相关计算问题 ● 实例:某河床的横断面如图所示,试根据图示的测量数据(单位: m ),计算各测量点的坡度和横断面的面积。 )ln(2 22 3xy y x y x +???,)1 sin (2+x e x dx d

基于MATLAB的微积分数值计算实验报告

基于MATLAB 的微积分数值计算 一.请编程计算以下极限 1 、0ln(lim tan x x x x →+ 【程序代码】 syms x; y=log(x+sqrt(1+x^2))/(x+tan(x)); limit(y,x,0) ans = 1/2 2、1 lim (3)x x x e x →∞? ?+-???? 【程序代码】 syms x; y=(x+3)*exp(1/x)-x; limit(y,x,inf) ans = 4 3、0lim x x x +→ 【程序代码】 syms x; y=x^x; limit(y,x,0,'right') ans = 1 4、22200 sin() lim x y x y x y →→+

【程序代码】 syms x y; f=sin(x^2*y)/(x^2+y^2); limit(limit(f,x,0),y,0) ans = 二.求下列函数的导数 1、求3 x y = 【程序代码】 syms x; y=(exp(x^3)-1)/(1-cos(sqrt(x-sin(x)))); yd=diff(y,x) yd = 3*x^2*exp(x^3)/(1-cos((x-sin(x))^(1/2)))-1/2*(exp(x^3)-1)/(1-cos((x-sin(x))^(1/2)))^2*sin((x-sin(x))^(1/2))/(x-sin(x))^(1/2)*(1-cos(x)) 2、求(1)sin x a b y x x x =+的一阶导数、二阶导数 【程序代码】 syms x a b; y=x*(1+a/x)^x*sin(b/x); y1=diff(y,x) y2=diff(y,x,2) y1 = (1+a/x)^x*sin(b/x)+x*(1+a/x)^x*(log(1+a/x)- 1/x*a/(1+a/x))*sin(b/x)-1/x*(1+a/x)^x*cos(b/x)*b y2 = 2*(1+a/x)^x*(log(1+a/x)- 1/x*a/(1+a/x))*sin(b/x)+x*(1+a/x)^x*(log(1+a/x)- 1/x*a/(1+a/x))^2*sin(b/x)-1/x^2*(1+a/x)^x*a^2/(1+a/x)^2*sin(b/x)-2/x*(1+a/x)^x*(log(1+a/x)-1/x*a/(1+a/x))*cos(b/x)*b- 1/x^3*(1+a/x)^x*sin(b/x)*b^2 3、求arctan x z y =的二阶偏导数 【程序代码】 syms x y;

数学实验(matlab)样题及参考解答

东华大学高等数学实验试题A 考试时间:90分钟 (附参考解答) 班级 学号 姓名 得分 上机考试说明: 1. 开考前可将准备程序拷到硬盘, 开考后不允许用移动盘,也不允许上网; 2. 领座考生试卷不同,开卷,可利用自己备用的书和其他资料,但不允许讨论,也不允许借用其他考生的书和资料。 3. 解答(指令行,答案等)全部用笔写在考卷上。 一、 计算题(70分) 要求:写出M 函数(如果需要的话)、MATLAB 指令和计算结果。 1. 解线性方程组???????-=+=+--=-+=-+1 423 5231543421431321x x x x x x x x x x x 并求系数矩阵的行列式。 指令行:A=[5 1 –1 0;1 0 3 –1;-1 –1 0 5;0 0 2 4];b=[1;2;3;-1]; x=A\b,d=det(A) 结果:x 1=1.4, x 2= -5.9, x 3=0.1, x 4= -0.3. 行列式=70. 2. 设 f(x,y) = 4 sin (x 3y),求 3,22==???y x y x f 。 指令行:syms x y; f=diff(4*sin(x^3*y),x); f=diff(f,y); f=subs(f,x,2); f=subs(f,y,3) 结果:1063.6 3. 求方程 3x 4+4x 3-20x+5 = 0 的所有解。 指令行:roots([3 4 0 –20 5]) 结果:-1.5003 - 1.5470i, -1.5003 + 1.5470i, 1.4134, 0.2539 4. 使用两种方法求积分dx e x 210221 -?π的近似值。 方法一:指令行:syms x; s=int(1/sqrt(2*pi)*exp(-x^2/2),0,1); vpa(s,5)结果:0.34135 方法二:指令行:x=0:0.01:1; y=1/sqrt(2*pi)*exp(-x.^2/2);trapz(x,y) 结果:0.3413 方法三:M 函数ex4fun.m function f=ex4fun(x) f=1/sqrt(2*pi)*exp(-x.^2/2); 指令行:s=quadl(@ex4fun,0,1) 结果:0.3413 5. 求函数 f(x,y) = 3x 2+10y 2+3xy-3x +2y 在原点附近的一个极小值点和极小值。 指令行:fun=inline(’3*x(1)^2+10*x(2)^2+3*x(1)*x(2)-3*x(1)+2*x(2)’); x=fminsearch(fun,[0,0]),f=eval(fun) 结果:x=0.5946, y= -0.1892, f= -1.0811

利用MATLAB解决高等数学问题

Matlab 大作业 本人选择了利用MATLAB解决高等数学问题。 1.极限计算 limit(f,x,a):求函数f在x趋于常数a时的极限; limit(f):求函数f在x趋于0时的极限; limit(f,x,a,’right’):求函数f在x趋于常数a时的右极限;limit(f,x,a,’left’):求函数f在x趋于常数a时的左极限; 具体计算如下: 求极限M=(1-2x/n)^n(n->∞); >>syms n x; >>M=limit(‘(1-2*x/n)^n,n,inf) M= 1/exp(2*x) 相应图如下:

2.导数计算 diff(y,x,n):求y对x的n次导数; 具体计算如下: 设:y=sinax;求A=dy/dx, B=dy/da, C=d^2y/dx^2; >>syms a x; y=sin(a*x); >>A=diff(y,x) A= a*cos(a*x); >>B= diff(y,a) B= x*cos(a*x); >>C= diff(y,x,2) C= -a^2*sin(a*x) 相应图如下:

3.积分计算 int(f):直接求函数f对x的不定积分; int(f,x1,x2):求函数f在积分区间为(x1,x2)的积分值; 具体计算如下: 求I=∫(x^2+1)/(x^2-2*x+2); J=∫cosx/(sinx+cosx),x∈(0,π/2) K=e^(-x^2) x∈(0,+∞); >>syms x >>f=(x^2+1)/(x^2-2*x+2)^2; >>g=cos(x)/(sin(x)+cos(x)); >>h=exp(-x^2); I=int(f) I= (3*atan(x-1))/2+(x/2-3/2)/(x^2-2*x+2); J=int(g,0,pi/2) J= Pi/4; K=int(h,0.inf) K= Pi^(1/2)/2; 相应图如下:

Matlab数学实验第二版课后习题答案

Matlab数学实验第二版课后习题答案 胡良剑 第一章 %Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) %Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 %Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) T = 11.5813 %Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) fmin = -1.3907 %最小值 min_index = 54 %最小值点编址 >> x(min_index) ans = 0.6500 %最小值点 >> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点 f1 = 0.0328 x1_index =

24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500 %Page20,ex5 >> z=magic(10) z = 92 99 1 8 15 67 74 51 58 40 98 80 7 14 16 73 55 57 64 41 4 81 88 20 22 54 56 63 70 47 85 87 19 21 3 60 62 69 71 28 86 93 25 2 9 61 68 75 52 34 17 24 76 83 90 42 49 26 33 65 23 5 82 89 91 48 30 32 39 66 79 6 13 95 97 29 31 38 45 72 10 12 94 96 78 35 37 44 46 53 11 18 100 77 84 36 43 50 27 59 >> sum(z) ans = 505 505 505 505 505 505 505 505 505 505 >> sum(diag(z)) ans = 505 >> z(:,2)/sqrt(3) ans = 57.1577 46.1880 46.7654 50.2295 53.6936 13.8564 2.8868 3.4641

MATLAB在高等数学中的应用

MATLAB 在高等数学中的应用 1 引言 在科学技术不断发展的今天,计算机得到迅速发展.计算机的出现归功于数学家的奠基性工作,计算机的发展又为数学的发展提供了威力无比的武器和工具,从而彻底改变了长期以来数学仅仅靠一支笔,一张纸的传统,使数学的应用在广度及深度两方面都达到了前所未有的程度,深刻地影响了数学的发展进程和思维模式,同时也使数学技术成为现今高科技的一个重要组成部分和突出标志. 中国科学院院士王梓坤在《今日数学及其应用》一文中指出“精确定量思维是对21世纪科技人员共同的素质要求。所谓定量思维就是指人们从实际问题中提炼数学问题,抽象化为数学模型,用数学计算求出此模型的解或近似解,然后回到现实中进行检验,必要时修改模型使之更切合实际,最后编制解决问题的软件包,以便得到更广泛的方便的应用”。 在当前众多数学应用软件中,MATLAB 是一个应用广泛、功能强大的软件.在70年代后期,Cleve Morler 博士编写了MATLAB .1984年, Cleve Morler 和John Little 成立Math Works 公司,正式把MA TLAB 推向市场,并对MA TLAB 进行不断的开发.MATLAB 已经发展成为适合多学科的功能强大的大型软件.在欧美等高校,MA TLAB 已经成为线性代数,自动控制理论,数理统计,数字信号处理,动态仿真等高级课程的基本教学工具,同时被研究单位和工业部门广泛应用,使科学研究和解决各种具体问题的效率大大提高.MA TLAB 提供了专业水平的数值计算,符号计算和图形可视化等功能,它几乎可以解决实际应用中出现的绝大多数的数值计算问题,如数据分析,曲线拟合,数值分析等.MA TLAB 软件不仅能够进行简单的数值计算,还能进行求导,积分,解方程,求特征值和特征向量等符号计算,并且MA TLAB 的图形功能强大,既包括对二维和三维数据可视化,图像处理,动画制作等高层次的绘图命令,也包括可以完全修改图形局部及编制完整图形界面的低层次的绘图命令. MATLAB 作为数学软件用于解决高等数学中一些计算问题和绘图问题,给学生一种全新的感觉,激发起学习的兴趣,加深对所学知识的理解,使学生对数学发展现状及应用有切实的体会. 如在高等代数中,矩阵的幂方和除法是两个计算量比较大而且容易出错的运算,尤其是幂方,而这些在MATLAB 中都会很快又准确的得出结果. 例1 已知A=??? ? ? ??01410141061062,求A 3. 应用MATLAB 命令:

高等数学实验课

一、运用MATLAB 画图分析极限 1画函数sin ,22x y x x ππ=-<<,并分析极限0sin lim x x x →的值。 x= -2*pi:0.5:2*pi; x=[-2pi -2pi+0.5 -2pi+1 … y=sin(x+eps)./(x+eps); plot(x,y) 拓展 2画函数 7.57.5,7.57.5z x y =-<<-<<.,并分析极限(,)lim x y →的 值。 x=-7.5:0.5:7.5; y=x; [X,Y]=meshgrid(x,y);

R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; mesh(X,Y ,Z) mathtype sin x y x = 作业:(1)若将函数换为2222sin(),7.57.5,7.57.5,x y z x y x y +=-<<-<<+画出图像; (2)若将函数换为222 222sin(),7.57.5,7.57.5x y z x y x y +=-<<-<<+() 画出图像,并进行对比分析。 二、运用MATLAB 直接求极限和导数 1求极限3 0tan sin lim x x x x →-的值。 >> syms x; >> f=(tan(x)-sin(x))/x^3; >> limit(f,x,0) ans = 1/2 2.求极限1ln 0lim cot )x x x +→(的值。 3.求函数2 ln y x x =的导数 4.求函数22+ln y x x =的二阶导数。 MATLAB 7.0从入门到精通(修订版) [平装]

相关主题
文本预览
相关文档 最新文档