MATLAB2 数值计算

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB具有出色的数值计算能力,占据世界上数值计算软件的主导地位本章要点本章将介绍一些与MATLAB数值计算有关的内容,这是使用MATLAB的基础。使用数值计算功能可以帮助大家解决一些常用到的计算问题。本章具体包括以下内容:表达式和变量基本运算函数创建和修改矩阵矩阵的运算一、表达式与变量MATLAB的语句由表达式和变量组成。变量=表达式表达式(相当于ans=表达式)【例】:5+3x=(3*6.5)/8.6;a=sin(x)表达式一般情况下运算结果在命令窗口显示出来。如果在语句地最后加分号,则不显示计算结果。注释以%开头,后面是注释的内容。【例】:计算x=sin(23*pi/180)/(sqrt(10)+3i);%计算表达式的值x=0.0650-0.0617ii31023sin数字的表达【例】:3-63250.00029.61.2e-65.66e18数值的相对精度为eps=数值的表示范围是~16521023081030810常用运算符加法+减法-幂^乘法*右除/左除\【例】:左除和右除的区别x=6/3x=2y=6\3y=0.5who和whoswho和whos都用来列出工作区中已驻留的变量清单,从而防止变量名的重复使用,造成数据的丢失。【例】:用whos检查内存变量的详细情况NameSizeBytesClassans1x18doublearrayx1x18doublearrayGrandtotalis2elementsusing16bytes数据的保存与提取生成mat数据文件可以保存工作空间中的数据保存savefilenameab或savefilename这里系统会自动为filename加上后缀.mat提取loadfilenameload命令中不能指定变量名,系统仍将a,b作为变量的名称练习分别保存工作空间中的部分和全部变量到文件mydata1和mydata2。clear命令用clear命令可以清除掉MATLAB工作空间中的某个或全部变量。【例】:清除变量whoYourvariablesare:absclearswhoYourvariablesare:abclearwho练习1.用clear命令清除掉工作空间中的全部变量,并观察工作空间中变量的使用情况。2.用load命令提取刚才保存的文件mydata1.mat,并再次观察工作空间中变量的使用情况。永久变量变量名称变量含义realmin最小的浮点数,realmax最大的浮点数,eps容差变量,pi圆周率的近似值3.14159...Inf或inf正无穷大,定义为1/0NaN非数(NotaNumber),0/0等i,j虚数单位,i=10232102325221永久变量永久变量,又称为预定义变量。永久变量是在MATLAB启动时,由系统自动定义的。永久变量驻留于内存中,并且不会被clear命令清除,所以称为永久变量。可以为永久变量赋值,但所赋的值可以用clear命令清除,从而恢复系统预定义的值,故而又称为预定义变量。【例】永久变量的修改和恢复pi=4pi=4clearpians=3.1416【例】无穷大的使用r=1/0Warning:Dividebyzero.r=Inf这样的操作不会引起程序执行中断,只是给出警告。【例】无穷大的作用1/rans=0复数利用虚数单位i和j可以定义复数,复数表达式和复数矩阵。【例】:复数表达和运算z1=2.3+1.2i,z2=0.5-1.2i,z=z1*z2z1=2.3000+1.2000iz2=0.5000-1.2000iz=2.5900-2.1600i数据的输出格式虽然MATLAB中数据的存储和计算都是以双精度进行的,但用户可以改变屏幕上的显示格式。format/formatshort5位定点表示formatlong15位定点表示formatrat近似的有理数表示formathex16进制表示formatcompact变量之间没有空行formatloose变量之间有空行【例】数据的输出格式formatlongpians=3.14159265358979formatpians=3.1416练习1.令a分别等于0.5和,计算(自然对数计算用log函数)提示:helplog函数从而找出相关的计算指数的函数。2.生成两个复数变量,计算它们的和、差以及乘积。3.修改某个永久变量的值,然后清除之。23.0ln)3.0sin(23.03.0aaeezaa2二、MATLAB的基本计算功能MATLAB带有强大的函数库,一般的数学运算能很容易的实现。MATLAB常用数学函数函数名称函数功能abs(x)绝对值sqrt(x)开平方real(z)复数的实部imag(z)复数的虚部conj(z)复数的共轭exp(x)自然指数函数log(x)自然对数log10(x)以10为底的对数MATLAB常用数学函数函数名称函数功能fix(x)向零方向取整数floor(x)不大于自变量的最大整数ceil(x)不小于自变量的最小整数round(x)四舍五入到最近整数sign(x)符号函数,-1,0,1gcd最大公因子lcm最小公倍数mod/rem(x,y)求余数或模运算练习1.令x分别等于3.3和-2.6,分别计算fix(x),floor(x),ceil(x)和round(x)。2.分别计算mod(5,3)和rem(5,3);mod(-5,3)和rem(-5,3)。3.利用help命令,研究函数mod和rem的区别。rem和mod的区别当y不等于0时rem(x,y)=x–y.*fix(x./y),符号与x相同mod(x,y)=x–y.*floor(x./y),符号与y相同当y等于0时rem(x,0)=NaNmod(x,0)=x例如,fix(-5/3)=-1,floor(-5/3)=-2,所以rem(-5,3)=-2,mod(-5,3)=1。MATLAB常用三角函数函数名称函数功能sin(x)正弦函数cos(x)余弦函数tan(x)正切函数cot(x)余切函数asin(x)反正弦函数acos(x)反余弦函数sinh(x)双曲正弦函数asinh(x)反双曲正弦函数三、矩阵的表示从本节开始介绍MATLAB最重要、最基础的部分矩阵运算矩阵是运算的基本单元该单元定义在复数域上矩阵事先不必定义大小1直接输入创建的矩阵输入规则:矩阵元素必须用[]括住矩阵元素必须用逗号或空格分隔在[]内矩阵的行与行之间必须用分号分隔【例】创建矩阵x=9;y=pi/6;A=[2,5,cos(y);sin(y),x^2,8;x/236]A=2.00005.00000.86600.500081.00008.00004.50003.00006.0000练习创建下列矩阵:A=147102581136912B=1323541216-24-21-181014028-433325-3-16-11113-3210-20-12矩阵元素矩阵元素可以是数字或表达式,但表达式中不可包含未知的变量矩阵元素可以是实数或复数矩阵元素可以用它的行数和列数表示,例如A(2,3)表示矩阵A的第2行第3列的元素【例】矩阵元素的修改A(3,3)=0A=2.00005.00000.86600.500081.00008.00004.50003.00000A(2,5)=1A=2.00005.00000.8660000.500081.00008.000001.00004.50003.0000000如果给出的行(列)下标大于矩阵的行(列)数,那么系统将自动扩展原来的矩阵并将扩展后未赋值的元素置为0。练习修改刚才生成的矩阵A为A=147100000258110000369125005矩阵元素的序号矩阵元素按列编号,先第一列,再第二列,依次类推。例如:A=[123;456];A(3)ans=2m×n矩阵A的序号(Index)与下标(Subscrip)是一一对应的,元素A(i,j)的序号为(j-1)*m+i矩阵的大小size(A)函数返回A的行数和列数,例如:size(A)ans=23length函数给出行数和列数中较大的那个,即length(A)=max(size(A))主要用于返回向量的大小练习1.创建如下的矩阵AA=12345678利用size函数返回矩阵A的大小并考察A的序号,例如A(6)。2.创建矩阵x=[1,2,3]和y=[1;2;3],分别使用size和length返回矩阵x和y的大小。矩阵重排reshape(A,m,n)函数在矩阵总元素保持不变的前提下,将矩阵A重新排列为m×n矩阵。例如:x=1:6;y=reshape(x,2,3)y=135246A(:)将矩阵A的每一列元素堆叠起来,成为一个列向量。A'是矩阵A的共轭转置矩阵练习1.利用reshape创建如下的矩阵A,并考察A的转置A'A=161116212627121722273813182328491419242951015202530复数矩阵可分为两部分创建,例如:R=[158;39-6];S=[3.2,5,6;-103];F=R+S*iF=1.0000+3.2000i5.0000+5.0000i8.0000+6.0000i3.0000-1.0000i9.0000-6.0000+3.0000i复数矩阵的创建练习1.创建复数矩阵A,并考察A'冒号表达式冒号表达式的一般格式为:a:h:b表示从a开始,到b结束,以h为步长的向量【例】:冒号表达式t=0:3:10t=0369s=0:-5:-18s=0-5-10-15默认步长为1,即t=0:5与t=0:1:5等价。练习1.创建向量x=1:2:20,观察结果。2.创建向量x=0,-0.3,-0.6,......,-3,并用length函数考察向量x的长度。MATLAB常用向量函数函数名称函数功能length(x)向量的长度max(x)求最大值min(x)求最小值norm(x)向量的2范数prod(x)求向量元素的积sort(x)对元素进行排序sum(x)求向量元素的和练习1.当x=0.2,0.5,0.8,……,3.5时,求的值,并求出向量y的最大值和平均值。2.令x=rand(5,1)可以得到一个随机向量,要求对x的元素按从小到大的顺序进行排列得到向量y。3.令x=1:2:10,计算x的2-范数,并用help命令学习norm函数的其他用法及含义。xysin矩阵标识和子矩阵矩阵的子阵可以通过标量、向量、冒号的标识来引用和赋值。【例】:提取矩阵的子阵A=magic(5)A=17241815235714164613202210121921311182529A1=A(2:3,[135])A1=2371641322A2=A([31],:)A2=4613202217241815A([25],[13])=zeros(2)A=17241815050141646132022101219213018029【例】:提取矩阵的子阵2A=magic(5)A=17241815235714164613202210121921311182529A2=A(end,:)A2=11182529A1=A(3:end,[135])A1=413221019311259练习1.利用magic(5)函数生成5阶魔方矩阵A,要求取出其中间的3×3子阵:5714613201219212.令x=rand(5,1)可以得到一个随机向量,要求对x的元素按从大到小的顺序进行排列得到向量y。利用空矩阵删除元素在MATLAB中,定义[]为空矩阵。利用空矩阵是删除矩阵元素的有效方法A=rand(3,5)A=0.50280.30460.68220.15090.86000.70950.18970.30280.69790.85370.42890.19340.54170.37840.5936A(

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功