应用基础数值 8_第1页
应用基础数值 8_第2页
应用基础数值 8_第3页
应用基础数值 8_第4页
应用基础数值 8_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应用数值分析第二讲MATLAB软件与数值计算2MATLAB的进入与运行方式

34数组运算与矩阵运算7教学小结提纲变量与函数1问题引入5MATLAB程序设计6MATLAB的绘图功能教学目标与重难点教学目标matlab矩阵与数组及matlab程序设计。实际问题中,matlab程序设计。

1.了解matlab的绘图功能及常用函数;2.理解变量与函数、矩阵与数组运算;

3.掌握matlab程序设计。教学重点教学难点一问题引入一、问题引入MATLAB是MathWorks公司于1984年推出的一套数值计算软件,分为总包和若干个工具箱,可以实现数值分析、优化、统计、微分方程数值解、信号处理、图象处理等若干领域的计算和图形显示功能。它将不同数学分支的算法以函数的形式分类成库,使用时直接调用这些函数并赋予实际参数就可以解决问题,快速而且准确。MATLAB建立在向量、数组和矩阵的基础上,使用方便,人机界面直观,输出结果可视化,深受用户欢迎,应用范围十分广泛。二MATLAB与入的进运行方式二、MATLA的进入与运行方式

1.MATLAB的进入与界面当你在计算机中成功地安装了MATLAB后,在Windows桌面上就会出现MATLAB图标,双击此图标,就进入MATLAB的界面。二、MATLA的进入与运行方式

MATLAB的界面上主要有四个窗口,它们是:命令窗口(CommandWindow):在命令窗口中可以直接输入命令行,以实现计算或绘图功能。工作空间(Workspace):该窗口中显示当前MATLAB的内存中使用的变量的信息,包括变量名、变量数组大小、变量字节大小和变量类型。在工作空间窗口中选定某个变量后,双击变量名,将打开数组编辑器窗口(ArrayEditor),显示该变量具体内容,该显示主要用于数值型变量.也可以在数组编辑器修改该数据。命令历史(CommandHistory):该窗口显示所有执行过的命令。利用该窗口,一方面可以查看曾经执行过的命令,另一方面,可以重复利用原来输入的命令行,这只需在命令历史窗口中直接双击某个命令,就可执行该命令行。当前目录(CurrentDirectory):该窗口显示当前工作目录下所有文件的文件名、文件类型和最后修改时间.可以在该窗口上方的小窗口中修改工作目录。二、MATLA的进入与运行方式

2.MATLAB的运行方式MATLAB提供了两种运行方式:命令行方式和M文件方式。三变量与函数三、变量与函数1.变量变量命名规则变量名最多不超过19个字符(早期版本)变量名区分大小写,不允许使用标点符号变量名必须是不含空格的单个词变量名必须以字母打头,之后可以是任意字母、数字或下划线三、变量与函数特殊变量取

值特殊变量取

值pi圆周率i,ji=j=(-1)0.5ans用于结果的缺省变量名nargin所用函数的输入变量数目eps计算机的最小数,当和1相加就产生一个比1大的数nargout所用函数的输出变量数目flops浮点运算数realmin最小可用正实数inf无穷大,如1/0realmax最大可用正实数NaN不定量,如0/0特殊变量表三、变量与函数(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果.(2)“%”后面所有文字为注释.(3)“...”表示续行.标点、符号变量三、变量与函数2.基本运算与函数运算符号运算符号的功能+加法运算,适用于两个数或两个同阶矩阵相加.—减法运算*,/乘法与除法运算.*点乘运算./点除运算^,.^乘幂、点乘幂运算\反斜杠表示左除.数学运算符号表三、变量与函数函数名称函数名称sin(x)正弦函数asin(x)反正弦函数cos(x)余弦函数acos(x)反余弦函数tan(x)正切函数atan(x)反正切函数abs(x)

绝对值max(x)

最大值min(x)

最小值sum(x)元素的总和sqrt(x)

开平方exp(x)以e为底的指数log(x)自然对数log10(x)以10为底的对数sign(x)符号函数fix(x)取整常用数学函数三、变量与函数(1)函数M文件函数M文件是文件名后缀为m的文件,这类文件的第一行必须是一特殊字符function开始,格式为:function输出形参表=函数名(输入形参表)当输出形参多于一个时,应该用方括号括起来,构成一个输出矩阵。调用格式为:[输出实参表]=函数名(输入实参表)3.函数匿名函数基本格式函数句柄变量=@(匿名函数输入参数)匿名函数表达式其中:@为函数句柄的运算符。>>f=@(x,y)x^2+y^2>>f(3,4)%直接调用函数f.ans=25三、变量与函数例.1定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2functionf=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2(1)建立M文件:fun.mMATLAB(fun)(2)

可以直接使用函数fun.m如:计算f(1,2),只需在Matlab命令窗口键入命令:x=[12]fun(x)四数组运算与矩阵运算四、数组运算与矩阵运算数组运算和矩阵运算是MATLAB数值运算的两大类型,矩阵运算是按矩阵的运算规则进行的,而数组运算则是按数组元素逐一进行的1.数组创建简单数组x=first:increment:last创建从first开始,加increment计数,last结束的行向量x=first:last创建从first开始,加1计数,到last结束的行向量x=[abcdef]创建包含指定元素的行向量x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量x=logspace(first,last,n)创建从first开始,到last结束,有n个元素的对数分隔行向量四、数组运算与矩阵运算数组的访问访问一块元素

x(a:b:c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.访问一个元素x(i)表示访问数组x的第i个元素直接使用元素编址序号

x([abcd])表示提取数组x的第a、b、c、d个元素构成一个新的数组[x(a)x(b)x(c)x(d)].MATLAB(shuzu2)四、数组运算与矩阵运算列向量操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.数组的方向行向量:行方向分布,一行数列列向量:列方向分布,一列数列前面例子中的数组都是行向量

产生列向量有两种方法:直接产生例c=[1;2;3;4]

转置产生例b=[1234];c=b'说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.四、数组运算与矩阵运算数组的运算(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]MATLAB(shuzu3)(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]MATLAB(shuzu4)当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行,不同大小或维数的数组是不能进行运算的.四、数组运算与矩阵运算矩阵的建立

(1)录入:逗号或空格用于分隔某一行的元素,分号用于区分不同的行。除了分号,在输入矩阵时,按Enter键也表示开始新一行.。输入矩阵时,严格要求所有行有相同的列.

例2

m=[1234;5678;9101112]p=[111122223333]2.矩阵四、数组运算与矩阵运算d=eye(m,n)产生一个m行n列的单位矩阵c=ones(m,n)产生一个m行n列的元素全为1的矩阵b=zeros(m,n)产生一个m行n列的零矩阵a=[]产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零(2)特殊矩阵的建立:(3)导入数据的建立矩阵:四、数组运算与矩阵运算矩阵中元素的操作MATLAB(matrix2)(1)提取矩阵A的第r行:A(r,:)(2)提取矩阵A的第r列:A(:,r)(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拼接成新矩阵:[AB];[A;B](3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:)四、数组运算与矩阵运算矩阵的运算

(2)矩阵-矩阵运算

[1]元素对元素的运算,同数组-数组运算.(1)标量-矩阵运算标量-数组运算相同.MATLAB(matrix3)

[2]矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:[V,D]=eig[A]四、数组运算与矩阵运算常用的矩阵函数(1)用size()函数计算矩阵A的维数。(2)rand函数:产生(0,1)区间均匀分布的随机矩阵。(3)计算矩阵长度(列数)的函数length()。(4)矩阵元素的求积运算函数prod()。(5)矩阵元素的求和运算函数sum()。(6)zeros函数:产生全0矩阵,即零矩阵。(7)ones函数:产生全1矩阵,即幺矩阵。(8)eye函数:产生对角线为1的矩阵。(9)randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。(10)vander(V)生成以向量V为基础的范得蒙矩阵,hilb(n)函数生成n阶希尔伯特矩阵。五MATLAB程序设计五、MATLAB程序设计逻辑运算符说明&与︱或~非逻辑运算符1.关系与逻辑运算关系操作符说明关系操作符说明<小于>=大于或等于<=小于或等于==等于>大于~=不等于关系操作符五、MATLAB程序设计2.控制流MATLAB提供三种决策或控制流结构。说明:这些结构经常包含大量的MATLAB命令,故经常出现在MATLAB程序中,而不是直接加在MATLAB提示符下。

◆for循环◆while循环◆if-else-end结构(1)for循环

允许一组命令以固定的和预定的次数重复说明:在for和end语句之间的命令串{commands}按数组(array)中的每一列执行一次.在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:,n)forx=array{commands}end

例1

对n=1,2,…,10,求xn=的值MATLAB(for1)五、MATLAB程序设计(2)While循环

与for循环以固定次数求一组命令相反,while循环以不定的次数求一组语句的值.

whileexpression{commands}end

说明:只要在表达式(expression)里的所有元素为真,就执行while和end语句之间的命令串{commands}.MATLAB(while1)例2设银行年利率为2.75%。将10000元钱存入银行,问多长时间会连本带利翻一番?五、MATLAB程序设计(3)If-Else-End结构1)有一个选择的一般形式:ifexpression{commands}end说明:如果在表达式(expression)里的所有元素为真,就执行if和end语句之间的命令串{commands}.MATLAB(fun1)if(expression1)

{commands1}elseif(expression2)

{commands2}elseif(expression3)

{commands3}elseif………2)

有三个或更多的选择的一般形式是:五、MATLAB程序设计

先建立M文件fun2.m定义函数f(x),再在Matlab命令窗口输入fun2(2),fun2(0.5),fun2(-1)即可。MATLAB(fun2)六MATLAB的绘图功能六、MATLAB的绘图功能1.二维图形二维图形即平面曲线,MATLAB提供了画曲线的函数。(1)曲线图MATLAB作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给MATLAB函数画图。

plot(X,Y,S)plot(X,Y)plot(X1,Y2,S1,X1,Y2,S1,……,Xn,Yn,Sn)X,Y是向量,分别表示点集的横坐标和纵坐标,命令plot(X,Y,S)描绘该点集所表示的曲线,其线型由S确定如表:六、MATLAB的绘图功能符号颜色符号颜色符号线型符号标记符号标记‘b’蓝色‘c’青色‘_’实线‘v’

‘x’叉号‘g’绿色‘k’黑色‘__’虚线‘^’

‘+’加号‘m’洋红色‘r’红色‘:’点线‘>’

‘pentagram’五角星☆‘w’白色‘y’黄色‘_.’点划线‘<’

‘diamond’

‘none’无线‘o’圆圈‘hexagram’六角星

‘*’星号‘square’□plot绘图函数的叁数六、MATLAB的绘图功能2.三维图形三维图形包括曲线和曲面。(1)三维曲线1)一条曲线命令plot3(x,y,z,s)通过描点连线画出曲线,这里x,y,z是都是n维向量,分别表示该曲线上点集的横坐标、纵坐标、函数值,S表示颜色、线形等。例5

在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t),z=t,并分别标注。解输入命令t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)xlabel('sin(t)');ylabel('cos(t)');title('参数曲线')六、MATLAB的绘图功能2)多条曲线命令plot3(x,y,z)通过描点连线画出多条曲线,这里x,y,z是都是m*n矩阵,其对应的每一列表示一条曲线。例6

画多条曲线观察函数Z=(X+Y).^2。解输入命令x=-3:0.1:3;y=1:0.1:5;[X,Y]=meshgrid(x,y);Z=(X+Y).^2;plot3(X,Y,Z)这里meshgrid(x,y)的作用是产生一个以向量x为行、向量y为列的矩阵。(2)空间曲面命令surf(x,y,z)完整曲面。这里

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论