Matlab基础知识学习笔记_第1页
Matlab基础知识学习笔记_第2页
Matlab基础知识学习笔记_第3页
Matlab基础知识学习笔记_第4页
Matlab基础知识学习笔记_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、Matlab基础知识启动MATLAB计算在输入一行语句后按下【Enter】键,MATLAB会立即执行并显示结果;如果要MATLAB一次执行多行语句,则在输入每行语句后按下【Shit + Enter】键,并在输入最后一行语句后按【Enter】键.内存变量查阅、删除的指令操作(1)查询内存变量在指令窗口(Command Window)中运行who、whos查询MATLAB的内存变量.这两个指令的差别仅在于获取内存变量信息的简单和详细程度不同.(2)删除内存变量clear删除内存中的所有变量clear V1 V2 Vn删除内存中的变量V1 V2 Vn(注意:被删除的变量间用”空格”分隔).编辑调试器

2、的开启单击MATLAB桌面的图标,打开空白的M文件编辑器.单击MATLAB桌面上的图标,填写所选文件名后,再单击【打开】按钮,即可展示响应的M文件编辑器.用鼠标左键双击当目录窗口中的所需M文件,即可直接引出响应的M文件编辑器.HELP命令(1)运行helphelp将得到如何使用help的帮助(2)运行help引出包含一系列主题(topics)分类列表(3)运行help topic引出具体主题下的函数名(Fun Name)列表例如:help elmat Elementary matrices and matrix manipulation. Elementary matrices. zeros

3、- Zeros array. ones - Ones array.eye - Identity matrix.(4)运行help FunName获得集体函数的用法例如:help eye EYE Identity matrix. EYE(N) is the N-by-N identity matrix. EYE(M,N) or EYE(M,N) is an M-by-N matrix with 1s onthe diagonal and zeros elsewhere.(5)运行helpbrowser或helpdesk引出“帮助浏览器”.(6)运行指令demo便可以运行演示程序.Matlab简单

4、运算及输入1矩阵的输入格式直接输入矩阵时候,矩阵元素用“空格”或者“逗号”隔开,矩阵行用“分号”隔离,整个矩阵放在方括号“”内.不必事先对矩阵维数做任何说明.例如:A = 1,2,3;4,5,6;7,8,9或者A = 1 2 3;4 5 6;7 8 9还可以分行输入:A=1 2 3; 4 5 6; 7 8 9注意:表达符号一定要在英文状态下输入.MATLAB对矩阵大小写是敏感的.如果不用clear指令清楚,或者重新赋值,那么该矩阵就会一直保存在工作空间中,直到指令窗(Command Window)关闭.2指令的续行输入MATLAB用3个或3个以上的连续黑点(不是省略号)表示“续行”,即表示下一

5、行是上一行的继续.例如:S = 1 1 / 2 + 1/3 -1/4 +1/5 1/6 + 1/7 1/83数值、变量和表达式1、数值的记述3-980.0029.881.4e-34.99e232、变量命名规则变量命名规则同VC.3、MATLAB默认的预定义变量预定义变量含义预定义变量含义ans计算结果realmax最大正实数i或j虚单元realmin最小正实数pi圆周率eps机器零阈值inf或Inf无穷大,如1/0nargin函数输入宗量数目NaN或nan非数,如0/0nargout函数输出宗量数目4、运算符和表达式/表示左除,表示右除.对于数而言,左除与右除相同.即a b可以写作a/b或者b

6、a.表达式由变量名、运算符和函数名组成.符号”%”为注释符,相等于VC中的”/”.优先级的规定:指数优先级最高,乘除次之,加减运算级最低.括号可以改变运算顺序.,.5、复数和复数矩阵复数,则real(z) = a ;imag(z) = b ;abs(z) = ;%给出复数的模angle(z) = arctan(b/a).%以 弧度为单位给出复数z的相角复数矩阵的格式:A = 1,2;3,4*i=I,2i;3i,4i.6、计算的方根.(1)直接计算a=-8;r=a(1/3)r= 1.0000 + 1.7321i.(2)显示所有的方根 m=0,1,2; R= abs(a)(1/3); Theta

7、= (angle(a) + 2 * pi * m) / 3 ; rrr = R * exp(i * Theta)rrr = 1.0000 + 1.7321i -2.0000 + 0.0000i 1.0000 - 1.7321i(3)图形表示t = 0 : pi / 20 : 2 * pi ;x = R * sin(t) ;y = R * cos(t) ;plot(x,y,b:),gridhold onplot(rrr(1) , . , MarkerSize ,50 ,color ,r)plot(rrr(2,3) , o , MarkerSize ,15 ,color ,b)axis(-3,3,

8、-3,3),axis squarehold offMatlab矩阵及其运算引导1、行向量的定义rowvec = 1.2 3 56;2、列向量的定义colvec = 1.2;3;56;3、逐个元素的分配矩阵B(1,1) = 1 ;B(1,2) = 2 ;B(2,1) = 3 ;B(2,2) = 4 ;B = 1 2 3 4注意:矩阵的下标从1开始计数创建新矩阵1、1矩阵、零矩阵和单位矩阵1矩阵的所有元素全为1,零矩阵的所有元素全为零.ones(n)%建立一个nn的1矩阵ones(m,n,p)%建立一个mnp的1矩阵ones(size(A)%建立一个和矩阵A同样大小的1矩阵zeros(n)%建立一

9、个nn的0矩阵zeros(m,n,p)%建立一个mnp的0矩阵zeros(size(A)%建立一个和矩阵A同样大小的0矩阵eye(n)%建立一个nn的单位矩阵eye(m,n)%建立一个mn的单位矩阵eye(size(A)%建立一个和矩阵A同样大小的单位矩阵例如:输入OneMatrix = ones(2,3,2)则结果为:OneMatrix(:,:,1) = 1 1 1 1 1 1OneMatrix(:,:,2) = 1 1 1 1 1 1注意:eye命令只能用来建立二维矩阵2、随机数和随机矩阵rand%产生在01之间均匀分布的随机数;每调用一次给一个新的数值.rand + i*rand %产生

10、一个复数随机数rand(n)%产生一个nn的矩阵,其元素均为01之间均匀分布的随机数.rand(m,n,p)%产生一个mnp的矩阵,其元素均为01之间均匀分布的随机数.randn%产生零均值、单位方差的正太分布随机数randn(n)%产生一个nn的矩阵,其元素均为零均值、单位方差的正太分布随机数.randn(m,n,p)%产生一个mnp的矩阵, 其元素均为零均值、单位方差的正太分布随机数.3、随机数种子rand(state)%返回一个有35个元素的向量,其中包含随机发生器的当前状态.rand(state,s)%设置随机种子发生器的状态为srand(state,0)%设置随机种子发生器为它的原始

11、状态rand(state,j)%设置随机种子发生器为它的第j种子状态,j为整数rand(state,sum(100*clock);%使用clock命令,使得随机种子发生器在每个不同的时刻都设置为不同的状态.rand(state,arg)%使用MATLAB中的随机种子发生器.randn(state,)%返回一个有两个元素的向量,其中包含正态随机种子发生器的状态randn(state,arg)%根据arg设置正态随机种子发生器,见rand.例如astate = rand(state); astate(1:5)ans = 0.8651 0.5121 0.9021 0.81860.6267说明:ast

12、ate(1:5)表示列出状态向量(35个元素)中的前5个元素的值4、从已存在的向量中产生新的矩阵(一)diag(A)%生成一个由矩阵A主对角线元素组成的列向量,主对角线总是从矩阵左上角开始,对于方阵来说它结束于矩阵的右下角.diag(x)%x为一个n维向量.生成一个n维方阵,它的主对角线元素取自向量x,其余元素的值都为零.diag(A,k)%生成一个由矩阵A第k条对角线元素组成的列向量。k=0为主对角线;K0为主对角线上第K条对角线.dialog(x,k)%生成一个(n +)*(n+)维的矩阵,该矩阵的第k条对角线元素取自x,其余元素为0.(n为x的维数)例一:A = 1 2 3 4 5 6

13、7 8 9diag(A)=1 5 9例二:x = 1 2 3;diag(x) = 1 0 0 0 2 0 0 0 3例三:(A为例一中的A)diag(A,0) = 1 5 9diag(A,1) = 2 6diag(A,-1) = 4 8例四:(x为例二中的x)diag(x,1) = 0 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0diag(x,-2) = 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 3 0 05、从已存在的矩阵中生成新的矩阵(二)triu(A)%生成一个和A同样大小的上三角矩阵。该矩阵的主对角线及以上元素取自A中的相应元

14、素,其余元素都为0.triu(A,k)%生成一个和A同样大小的上三角矩阵。该矩阵的第k条对角线及以上元素取自A中的相应元素,其余元素都为0.命令triu(A,0)等价于triu(A).tril(A)%生成一个和A同样大小的下三角矩阵。该矩阵的主对角线及以下元素取自A中的相应元素,其余元素都为0.tril(A,k)%生成一个和A同样大小的下三角矩阵。该矩阵的第k条对角线及以下元素取自A中的相应元素,其余元素都为0.命令tril(A,0)等价于tril(A).对于每一个方阵A都有以下关系:A = triu(A) +tril(A) diag(diag(A);A = triu(A,1) + tril(

15、A,-1) + daig(diag(A).例一:A = 1 2 3 4 5 6 7 8 9triu(A) = 1 2 3 0 5 6 0 0 9triu(A,1) = 0 2 3 0 0 6 0 0 0tril(A,-1) = 0 0 0 4 0 0 7 8 0例二:B = 1 2 3 4 5 6 7 8 9 1 0 5triu(B) = 1 2 3 4 0 6 7 8 0 0 0 5tril(B,-1) = 0 0 0 0 5 0 0 0 9 1 0 06、矩阵旋转和矩阵变维fliplr(A)%通过二维矩阵的行元素按照交换位置生成一个新的矩阵。这里的”lr”是”left-right”的缩写.

16、A为mn的矩阵.flipud(A) %通过二维矩阵的列元素按照交换位置生成一个新的矩阵。这里的”lr”是”left-right”的缩写. A为mn的矩阵.flipdim(A,dim)%生成一个在dim维矩阵A内的元素交换位置的多维矩阵.命令flipdim(A,1)等价于flipud(A),命令flipdim(A,2)等价于fliplr(A).rot90(A)%生成一个由矩阵A逆时针旋转而得到的新矩阵.rot90(A,k)%生成一个由矩阵A逆时针旋转k而得到的新矩阵.reshape(A,m,n,p)%生成一个mnp维的矩阵,它的元素以线性索引的顺序从矩阵A中取来.(A有且仅有mnp个元素).re

17、pmat(A,m,n,p)%创建一个和矩阵A有相同元素的mnp块的多维矩阵.即由mnp个A拼在一起的矩阵.repmat(x,m,n,p)%创建一个mnp的多维矩阵,所有元素的值都为标量x.使用该命令比用命令x*ones(m,n,p)来创建同一个大矩阵的速度要快.shiftdim(A,n)%矩阵的列移动n步.(n0,向左移;n0,向右移).squeeze(A)%返回一个没有空维的矩阵A.cat(dim,A,B)%将矩阵A和B组合成一个dim维的多维矩阵.permute(A,order)%根据向量order来改变矩阵A中的维数顺序.ipermute(A,order)%进行命令permute的逆变换

18、。ipermute(permute(A,order),order) = A.例一:A = 1 2 3 4 5 6fliplr(A) = flipdim(A,2) = 2 1 4 3 6 5例二:B = 2 2 3 4 6 6 7 8 10flipud(B) = flipdim(B,1) = 7 8 10 4 6 6 2 2 3例三:(例二中的B)rot90(B) = 3 6 10 2 6 8 2 4 7例四:(例二中的B)rot90(B,2) = 10 8 7 6 6 4 3 2 2例五:OneMatrix = ones(3,4,2)reshape(OneMatrix,3,8) = 1 1 1

19、 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1例六:(例二中的B)repmat(B,2,3) = 2 2 3 2 2 3 2 2 3 4 6 6 4 6 6 4 6 6 7 8 10 7 8 10 7 8 10 2 2 3 2 2 3 2 2 3 4 6 6 4 6 6 4 6 6 7 8 10 7 8 10 7 8 10例七:y = 3 ;repmat(y,2,5) = 3 3 3 3 3 3 3 3 3 3例八:E = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1C = zeros(3,8);D = c

20、at(3,E,C) ans(:,:,1) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ans(:,:,2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0即在矩阵E中增加了一层零元素.7、矩阵维数的扩展(1)扩展列向量的列将向量x=9,10扩展成xnew=9,10,3,2,有下列办法:方法一:xnew = x ;xnew(3) = 3 ;xnew(4) = 2;方法二:xnew = x 3 2;方法三:tmp = 0,15; xnew = x tmp;(2)扩展矩阵的列将 A = 1 2;

21、3 4扩展成Anew = 1 2 11;3 4 12,有下列方法:方法一:y = 11;12,Anew = A y;方法二:Anew = A 11;12(3)扩展矩阵的行将A = 1 2;3 4扩展成Anew = 1 2;3 4;13 14,有下列办法:方法一:z = 13 14,Anew = A; z方法二:Anew = A;13 14(4)矩阵的赋值扩展法A = reshape(1:9,3,3)A = 1 4 7 2 5 8 3 6 9A(4,4) = 111;A = 1 4 7 0 2 5 8 0 3 6 9 0 0 0 0 111A(:,6) = 222A = 1 4 7 0 0 22

22、2 2 5 8 0 0 222 3 6 9 0 0 222 0 0 0 111 0 222A(5,:) = 250A = 1 4 7 0 0 222 2 5 8 0 0 222 3 6 9 0 0 222 0 0 0 111 0 222 250 250 250 250 250 2508、数字序列(1)数字序列一i:k%创建从i开始、步长为1、到k结束的数字序列.数字i和k不一定是整数,该序列最后一个数小于或等于k.i:j:k%创建创建从i开始、步长为j、到k结束的数字序列.数字i、j和k不一定是整数,该序列最后一个数小于或等于k.(2)数字序列二linspace(a,b)%在区间a,b上创建一个有100个元素的向量,这100个数把整个区间线性分隔.linspace(a,b,n)%在在区间a,b上创建一个有n个元素的向量,这n个数把整个区间线性分隔.logspace(a,b)%在区间10*a,10*b上创建一个有50个元素的向

温馨提示

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

最新文档

评论

0/150

提交评论