prezi关于中文字体的教程

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

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

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

资源描述

第二章Matlab基本运算本章内容掌握matlab变量的定义和特殊变量的使用掌握数组的建立、提取子数组的方法掌握常用的矩阵和数组运算函数的调用格式和功能掌握一些常用指令§2.1数据类型数组Char字符型Numeric数值型cell元胞型structure结构体型JavaclassesJava类Functionhandle函数句柄int8、int16、int32、int64uint8、uint16、uint32、uint64single单精度型double双精度型Userclasses用户类型变量变量名必须是以字母开头,由任意字母、数字或者下划线所组成,但不能含有空格和标点符号。如:A,ex_01,var12,SIN都是合法的变量名;7a,lab-1,b%c均是不合法的变量名;变量名不能超过63个字符变量名区分字母的大小写;定义的变量名不能与Matlab的内置变量或函数名相重。变量的命名规则:ans默认变量NaN非数eps机器零阈值nargin函数输入参数输入inf无穷大nargout函数输入参数输出i或j虚单元realmax最大正实数pi圆周率realmin最小正实数特殊变量在MATLAB中,存在一些变量具有特殊的含义和用途。因此,用户在编写程序和指令时,应避免对其重新赋值,以免混淆。整数和浮点数数据类型表示范围类型转换函数无符号8位整数uint80~28-1uint8()无符号16位整数uint160~216-1uint16()无符号32位整数uint320~232-1uint32()无符号64位整数uint640~264-1uint64()有符号8位整数int82-7~27-1int8()有符号16位整数int162-15~215-1int16()有符号32位整数int322-31~231-1int32()有符号64位整数int642-63~263-1int64()练习数据类型存储空间表示范围类型转换函数单精度型single4字节-3.40282×1038~+3.40282×1038single()双精度型double8字节-1.79769×10308~+1.79769×10308double()复数MATLAB用特殊变量“i”或“j”表示虚数的单位。复数的产生可以有几种方式:z=a+b*i或z=a+b*jz=a+bi或z=a+bj(当b为常数时)z=r*exp(i*theta)z=complex(a,b)变量=表达式(赋值操作)将表达式的值计算后赋给变量,其中表达式是用运算符将有关运算量连接起来的式子;表达式将表达式的值赋给临时变量ans变量的赋值注意:若在语句的最后加分号,则matlab仅执行赋值操作,但不显示运算结果。若表达式太复杂,一行写不下,可用续行符(3个小黑点)并按回车键,而后接着写。示例在指令窗输入下述语句,并按回车键执行,结果分别赋给变量a、b、c。a=1%a为标量b=[01]%b为行向量c=[12;34;56]%c为矩阵即二维数组说明:%后为语句注释,不执行。语句后为逗号或没有分号的语句在屏幕上显示出其结果;若结尾带分号,结果不显示。§2.2数组的创建数组是MATLAB中存储和运算的基本单元它是以行列方式组织的数值集合通过数组名(下标)的方式访问标量数据被看作1×1的数组矢量是一维数组,可分行向量、列向量矩阵通常被认为是二维的数组二维数组示意图R1R2R3C4C3C1C2A(2,3)A(8)直接输入法用中括号[]表示通过空格或逗号分隔列元素通过分号或回车换行分隔行元素多维数组行列数必须一致行尾有分号表示无回显x=[1,2,3;4,5,6]x=123456创建一个从first开始,结束于last,增量为increment的数组,默认值increment为1。冒号生成法first:increment:last例如:产生一个从0到2的数组,以0.5为间隔。a=0:0.5:2a=00.50001.00001.50002.0000linspace表示创建一个以first开始,last结束,包含number(为一维数组的长度n)个元素的数组linspace表示为线性等间隔1×n数组,它等价于x=first:(last-first)/(n-1):lastlogspace表示以10为底,按对数间隔的1×n数组线性/对数定点法x=linspace(first,last,number)x=logspace(first,last,number)valuelastvaluefirst__10~10在指令窗后显示提示信息字符串,等待用户输入数据。交互式生成法(input函数)x=input(提示信息字符串)x=input(提示信息,格式控制)例如:x=input('请输入数据x的值:x=')请输入数据x的值:x=x=5例:reply=input('Doyouwantmore?Y/N:','s')Doyouwantmore?Y/N:5y中大规模用数组编辑器双击图标打开arrayeditor;数组创建之后,将其保存为a.mat文件,使用时只要在指令窗中输入loada.mat(可不加后缀名)或利用菜单导入输入即可。M文件创建法对于规模庞大而复杂的数组时,打开文件编辑器(File|OpenM-file),在空白处输入所需数组(最后在文件的首行编写文件名和简短说明,以便查阅),而后保存此文件(MyMatrix.m)。那么以后使用时,只要在指令窗中直接输入指令MyMatrix,就可运行该文件,数组也就会自动生成于MATLAB内存中。利用MATLAB提供的特殊函数来生成。函数生成法diag产生对角数组eye(m,n)产生单位数组rand(m,n)产生均匀分布随机数组randn产生正态分布随机数组ones(m,n)产生全1数组zeros(m,n)产生全0数组magic产生魔方数组hilb生成希尔伯特矩阵toeplitz生成托普利兹矩阵a=[-1.3,2+i;2+3*i,sqrt(5)]a=-1.30002.0000+1.0000i2.0000+3.0000i2.2361t=0:0.1:1t=Columns1through700.10000.20000.30000.40000.50000.6000Columns8through110.70000.80000.90001.0000b=linspace(0,2*pi,5)b=01.57083.14164.71246.2832t=logspace(0,2,3)t=%从100~102按对数等分成3个点110100ones(2,3)%生成一个两行三列(2×3)矩阵ans=111111%产生(2×3)的正态随机阵randn(2,3)ans=-0.43260.1253-1.1465-1.66560.28771.1909%产生一个(2×4)在-1和1之间均匀分布的数组x=2*rand(2,4)-1x=-0.02800.5242-0.9630-0.11060.7826-0.08710.64280.2309§2.3数组的寻址方法全下标:即指出行下标、列下标单下标:先把数组的所有列按先左后右的次序连接成一维长列,然后对元素位置进行编号(在MATLAB中矩阵元素按照列进行存储,先存第一列,再存第二列,首尾相接,依次类推)数组中包含多个元素,因此在引用数组中的某些元素或重新对某些元素赋值时需对元素进行标识。数组寻址是通过对数组下标的访问实现的。向量标识index必须是正整数(数组)或逻辑值index的取值范围是[1,end]a(index)例:x=1:2:7;y=x’;y1=y(3)y2=y(end)y(2)=10y1=5y2=7y=11057注:end的作用是返回向量的最后一个序号y=1357a(r,c)指定数组a中第r行,第c列的元素a(r,:)指定数组a中第r行所有元素a(:,c)指定数组a中第c列所有元素a(:)表示“一维长列”,按列排列的所有元素二维数组/矩阵的标识a(r,c)a(:,c)a(r,:)a(:)说明:全下标和单下标标识转换函数分别是ind=sub2ind(size,i,j)[i,j]=ind2sub(size,ind)其中:size表示由矩阵行数和列数构成的向量x=[123;456]x=123456x(:,2)ans=25x(2,:)ans=456x(2,3)ans=6x(:)ans=142536x(3,3)=9x=123456009子数组是从数组中取出一部分元素所构成的数组。通常是利用冒号表达式来获得子矩阵。§2.4子数组的获取A(i)表示提取向量A的第i个元素;A(i:L:i+m)表示提取向量A的第i~i+m(增量为L)个元素例:a=[1.1,-2,3,4+i,5]a1=a(3),a2=a([14])a3=a(1:2:5)或a3=a(1:2:end)A(:,j)表示取矩阵A的第j列全部元素A(i,:)表示取矩阵A的第i行全部元素A(i,j)表示取矩阵A的第i行、第j列的元素A(i:i+m,:)表示取矩阵A第i~i+m行的全部元素A(:,k:k+m)表示取矩阵A第k~k+m列的全部元素A(i:i+m,k:k+m)表示取矩阵A第i~i+m行内,并在第k~k+m列的全部元素还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。例:a=[1234;5678;9101112];a(1,:)%取a的第一行的元素a(:,end)%取a的最后一列的元素a(2,4)%取a的第二行、第四列的元素a(1:2:4,:)%取a的第一行和第三行的元素a(:,1:2:end)%取a的第1列和第三列的元素a=123456789101112ans=1234ans=4812ans=8ans=12349101112ans=1357911例:a=[1234;5678;9101112];a1=a([1,2],[2,3,4])a2=a([1,2],[2,3,1])a3=a([3,1],:)a([1,3],[2,4])=zeros(2)a=123456789101112a1=234678a2=231675a3=91011121234a=1030567890110数组的赋值例:a=zeros(2,3)b=1:6;a(:)=ba=135246数组元素的删除删除是通过赋值为空(用[]表示)来实现的。空矩阵:是0×0的数组零矩阵:是元素为零的m×n的数组例:a=[120;340;569]a(:,3)=[]%删除第三列元素a=120340569a=123456§2.5特殊矩阵例:建立一个3×3、3×2和与矩阵A同样大小的零矩阵。1)建立一个3×3的零矩阵zeros(3)2)建立一个3×2的零矩阵zeros(3,2)3)建立与矩阵A同样大小的零矩阵zeros(size(A))说明:size用于求矩阵的大小length用于求数组的长度例如:在区间[20,50]内均匀分布的5阶随机矩阵。x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)2*rand(3,2)-1例如:求均值为0.6、方差为0.1的5阶正态分布随机矩阵。例如:求区间在[-1,1]内均匀分布的随机矩阵。托普利兹矩阵托普利兹矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。toeplitz(x):用向量x生成一个对称的矩阵toeplitz(x,y):生成一个以x为第一列,y为第一行的矩阵,其中x和y均为向量,两者不必等长。toeplitz(1:6)123456212345321234432123543212654321x=[1234]y=[111]toeplitz(x,y)111211321432注:卷积矩阵的形式与此类似§2.5数组结构变形fliplr(A):A中的元素左右翻转flipud(A):A中的元

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

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

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

×
保存成功