logo资料库

matlab课程论文.doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
摘要
目录
1、MATLAB在微积分上的应用
1.1、MATLAB求数值微分
1.2、MATLAB求积分
2、MATLAB在高等代数上的应用
2.1、向量组的线性相关性
2.2、矩阵及线性方程组的解
2.2.1、矩阵的分析
2.2.2、线性方程组的解
3、MATLAB的绘图功能
3.1、绘制二维图形
3.1.1、基本绘图plot函数的使用
3.1.2、其它绘图函数
3.1.3、直角坐标、极坐标与对数坐标的比较
3.2、绘制三维图形
3.2.1、绘制三维曲面的基本函数
3.2.2、绘制标准三维曲面
3.2.3、其它三维图形
结语
《MATLAB》课程论文 摘要 MATLAB 是国际公认的优秀科技应用软件,是计算机辅助分析 与设计、算法研究和应用开发的基础工具和首选平台,是目前科学 研究领域最流行的应用软件,其特点概括为: (1)高效率的数值计算方法及符号计算功能,使用户从繁杂的 数学运算分析中更加简单化。 (2)完备的图形处理功能,实现计算结果和编程的可视化。 (3)友好的用户界面及接近数学表达式的自然化语言,使学习 者易于学习和掌握。 (4)功能丰富的应用工具箱,为用户提供了大量方便而实用的 处理工具,而且具备很强的开放性。 MATLAB 在微积分上、高等代数、多项式、数学分析、概率 论、数理统计、复变函数、数值计算、图论、图像处理等等各领域 有着重要的应用。 本文基于 MATLAB7.0 版本主要分析以下几点: (1)通过软件分析 MATLAB 在微积分上的应用 (2)通过软件分析 MATLAB 在高等代数上的应用 (3)通过软件分析 MATLAB 绘图功能 - 1 -
目录 《MATLAB》课程论文........................................................... - 1 - 摘要.....................................................................................- 1 - 目录.....................................................................................- 2 - 1、MATLAB 在微积分上的应用...............................................- 3 - 1.1、MATLAB 求数值微分......................................................................... - 3 - 1.2、MATLAB 求积分................................................................................- 3 - 2、MATLAB 在高等代数上的应用........................................... - 4 - 2.1、向量组的线性相关性.........................................................................- 4 - 2.2、矩阵及线性方程组的解..................................................................... - 5 - 2.2.1、矩阵的分析 ............................................................................ - 5 - 2.2.2、线性方程组的解......................................................................- 6 - 3、MATLAB 的绘图功能.........................................................- 8 - 3.1、绘制二维图形.................................................................................. - 8 - 3.1.1、基本绘图 plot 函数的使用........................................................ - 8 - 3.1.2、其它绘图函数......................................................................... - 9 - 3.1.3、直角坐标、极坐标与对数坐标的比较...................................... - 10 - 3.2、绘制三维图形.................................................................................- 11 - 3.2.1、绘制三维曲面的基本函数 .......................................................- 11 - 3.2.2、绘制标准三维曲面 .................................................................- 11 - 3.2.3、其它三维图形....................................................................... - 12 - 结语...................................................................................- 12 - - 2 -
1、MATLAB 在微积分上的应用 1.1、MATLAB 求数值微分 MATLAB 有二种方式实现数值的微分,也就有二种方法来求函 数 f(x)导的导数。一是用多项式或样条函数 g 对 f 进行逼近,然后用 g 函数的导数作为 f 函数的导数;二是用 MATLAB 提供 diff 函数计算 向前差分,间接求导。例如:f(x)=x4+4x3+2x2+6;为了比较二种 方法求出导数与实际导数的误差,求出 f’(x)=4x3+12x2+4x,并绘出 他们在区间[-5,5]内以 0.01 为步长的图像。 程序 M 文件如下: f=inline('x.^4+4*x.^3+2*x.^2+6'); g=inline('4*x.^3+12*x.^2+4*x'); x=-5:0.01:5; p=polyfit(x,f(x),5); dp=polyder(p); dpx=polyval(dp,x); dx=diff(f([x,5.01]))/0.01; gx=g(x); plot(x,dpx,x,dx,'.',x,gx,'-'); 程序运行后图像如右图: 由图可知,三条曲线高度接近,结果表明,两种求导方法求得 导数与实际非常接近。 1.2、MATLAB 求积分 MATLAB 积分一般是用一个解析式给出,此时有两种方法求积 ; 分,也可能用一个表格形式给出,此时用 trapz 函数计算。 计算 I= 第一种方法建立函数文件 ex.m function ex=ex(x) ex=exp(2*x); 在命令窗口输入以下命令: I=quadl('ex',1,2); 得到结果为: I = 23.6045 - 3 -
第二直接使用内联函数求解,在命令窗口输入: g=inline(‘exp(2*x)’); I=quadl(g,1,2) 结果为: I = 23.6045 用 trapz 函数计算: X=1:0.01:2; Y=exp(2*x); trapz(X,Y) ans= 23.6053 而计算二重积分,则使用 MATLAB 提供的 dblquad 函数,调用 格式为:I=dblquad(f,a,b,c,d,tol,trace)调用方式和 quadl 函数类 同,不再赘述。 2、MATLAB 在高等代数上的应用 在高等代数的学习过程中,往往为无法验证计算结果的正确性而 感到烦恼。使用 Matlab 不仅简单、迅速地计算出繁杂的代数运算结 果,而且使用方便、集成度高且结果稳定可靠。Matlab 的优势就在 于不仅功能强大,而且其运算指令简洁明了,使用时也不需要复杂的程 序语言,方便实用,很容易掌握。Matlab 在向量组的线性相关性、矩 阵及线性方程组、相似矩阵与二次型等方面有很强大的计算功能和 应用能力。 2.1、向量组的线性相关性 求列向量组 A 的一个最大线性无关组可用命令 rref(A)将 A 化成 阶梯形的行最简形式,其中单位向量对应的列向量即为最大线性无 关组所含向量,其它列向量的坐标即为其对应向量用最大线性无关 组线性表示的系数。 求下列矩阵的列向量的最大无关组(高等代数习题第三章第 11 题数据为例): A= - 4 -
编写程序 M 文件如下: A=[6 1 1 7;4 0 4 1;1 2 -9 0;-1 3 -16 -1;2 -4 22 3]; b=rref(A) 求得结果如下: 即 b= 记矩阵 A 的四个列向量分别为 a1,a2,a3,a4,则 a1,a2,a4 是向量组的一个极大无关组,且有 a3=a1-5a2。 2.2、矩阵及线性方程组的解 2.2.1、矩阵的分析 矩阵分析是高等代数的重要内容,Matlab 提供大量的方式求矩 阵的逆、矩阵的秩、矩阵转置、矩阵的特征值和特征向量、特征多 项式、特征根等。 下面用一个矩阵分别求它的秩、逆、装置、特征值、特征向 量、特征多项式、特征根。 A= 在命令窗口输入的命令如下: >> A=[1 2 2;-4 3 0;0 -1 0]; >> inv(A) 结果如图: 可知 inv()函数求矩阵逆简便快捷 继续输入命令: >> rank(A) ans=3 >>[v,d]=eig(A) (rank()函数求矩阵的秩) - 5 -
结果如图: 由 v,d 可知,矩阵 A 的第一列向量 特征值为:1.5000 + 2.3979i; 它的特征向量为: [0.2942 - 0.4703i,0.7845,-0.1471 +0.2351i], 其他列向量或行向量亦可求出特征值与特征向量。 >>p=poly(A) p = 1.0000 -4.0000 11.0000 -8.0000 (由 P 可以得到特征多项式为:f(x)=x3-4x2+11x-8) >> roots(p) ans = 1.5000 + 2.3979i 1.5000 - 2.3979i 1.0000 (roots() 函数可由特征多项式系数计算出特征根) 2.2.2、线性方程组的解 线性方程组是高等代数核心内容,在 Matlab 中,关于线性方程 组的解法分两类:一类是直接解,另一类是迭代解法,这两种又有 多种实现的方式,各有优缺点,下面利用程序详细分分析 Matlab 如 何解线性方程组。 例:用不同方法求解下列线性方程组的解 (1)直接解法,包括矩阵除法、矩阵求逆、矩阵分解(包括 LU 分解、QR 分解、Cholesky 分解)三种,程序如下; >> A=[5 1 -1 0;1 1 3 -1;-1 -1 2 5;0 0 2 4]; >> b=[1;2;3;-1]; - 6 -
//矩阵除法 x=A\b x = 2.0625 -7.3125 2.0000 -1.2500 >>x=inv(A)*b x = //矩阵求逆法 //矩阵分解法以 LU 分解为例 2.0625 -7.3125 2.0000 -1.2500 >> [L,U]=lu(A); >> x=U\(L\b) x = 2.0625 -7.3125 2.0000 -1.2500 (2)迭代解法,包括 Jacobi 迭代法、Gauss-Serdel 迭代法、 超松弛迭代、两步迭代法 以 Jacobi 迭代法解上题,建立函数文件 jacobi.m,程序代码如 下: function [y,n]=jacobi(A,b,x0,eps) if nargin==3 eps=1.0e-6; elseif nargin<3 error return end D=diag(diag(A)); L=-tril(A,-1); U=-triu(A,1); B=pinv(D)*(L+U); f=pinv(D)*b; y=B*x0+f; n=1; - 7 -
while norm(y-x0)>=eps x0=y; y=B*x0+f; n=n+1; end 以迭代初值为 0,迭代精度为 10-6,在命令窗口输入: >> [x,n]=jacobi(A,b,[0;0;0;0],1.0e-6) x = 2.0625 -7.3125 2.0000 -1.2500 n =41 Matlab 在高等代数中线性方程通解,非线性方程的最优化求 解,相似矩阵与二次型等个方面都有广泛的应用,我们可以通过 Matlab 可以简单快捷地解出高等代数的复杂的运算结果,这给我们 学习高等代数提供极大的便利,验证计算结果的正确性。 3、MATLAB 的绘图功能 强大的绘图功能是 Matlab 特点之一,在 Mtalab 提供的函数, 用户根据细节考虑分为高层绘图操作和低层绘图操作。以下都是用 高层绘图操作来体现 Matlab 的绘图功能。 3.1、绘制二维图形 3.1.1、基本绘图 plot 函数的使用 绘制二维图形的基本函数为 plot 函数,提供一组 x 坐标及对应 的 y 坐标,这样就可以绘制分别以 x、y 为横、纵坐标的二维曲线。 调用格式为:plot(x,y) 绘制四组图实现 plot 函数的绘制功能。 (1)绘制一般曲线,例:y=2ex2xsinx; (2)当 x 是向量,y 是有一维与 x 同维的矩阵时,则绘出曲线条数 等于 y 矩阵另一维数,x 作为这些曲线共同坐标。 (3)x,y 是同维矩阵,x,y 对应元素为横纵坐标分别绘制条数等于矩 阵列数的曲线。 (4)绘制对个输入参数,含选项的 plot 函数。 - 8 -
分享到:
收藏