配色: 字号:
matlab基础
2012-09-20 | 阅:  转:  |  分享 
  
数学软件Matlab本讲主要内容数学软件Matlab介绍Matlab的发展Matlab的发展Matlab的安装Mat
lab的功能与特点Matlab的特点与功能Matlab的特点与功能本讲主要内容Matlab的基本用法Matlab
的工作界面Matlab变量变量的查看系统预定义变量Matlab数值运算Matlab运算符分号和续行符矩阵的输
入矩阵元素赋值矩阵元素赋值矩阵元素的引用矩阵元素的引用矩阵元素的引用矩阵操作矩阵操作特殊矩阵常见矩阵生成函数矩
阵基本运算矩阵基本运算矩阵的乘方矩阵转置矩阵的旋转改变矩阵的形状查看矩阵的大小Matlab帮助系统Matlab查
找命令几个小技巧上机作业上机作业矩阵的除法:/、\右除和左除若A可逆方阵,则A\B<==>A的
逆左乘B<==>inv(A)BB/A<==>A的逆右乘B<==>Binv(A)X=A\B<==>
AX=BX=B/A<==>XA=B通常,矩阵除法可以理解为当A和B行数相等时可进行左除当
A和B列数相等时可进行右除A是方阵,p是正整数A^p表示A的p次幂,即p个A相乘。
若a是标量,则矩阵的转置与共轭转置’共轭
转置.’转置,矩阵元素不取共轭点与单引号之间不能有空格!>>A=[1,2;3i,4i]>>B=
A''>>C=A.''例:矩阵的旋转fliplr(A)左右旋转flipud(A)上下旋转rot9
0(A)逆时针旋转90度;rot90(A,k)逆时针旋转k×90度>>A=[123;45
6]>>B=fliplr(A)>>C=flipud(A)>>D=rot90(A)>>E=rot9
0(A,-1)例:注意矩阵旋转与转置的区别!改变矩阵的形状:reshape(A,m,n)将矩阵元素按列方向进行重新排
列成一个m×n的新矩阵新矩阵的元素个数必须与原矩阵元素个数相等!>>A=[1,2,3;4,5,6;7,8,9;
10,11,12]>>B=reshape(A,4,3)例:>>C=reshape(A,2,6)>>C=r
eshape(A,5,2)×查看矩阵的大小:size、lengthsize(A)返回矩阵A的行数和
列数size(A,1)返回矩阵A的行数size(A,2)返回矩阵A的列数length(x)返回向量
X的长度length(A)等价于max(size(A))>>A=[1,2,3;4,5,6]>>size
(A)>>size(A,1)>>size(A,2)例:>>length(A)>>x=[5:2:10];le
ngth(x)联机帮助help显示指定命令的简短使用说明例:>>helpeig>>helphelp
更详细(更多)的帮助doc以网页形式显示指定命令的帮助页例:>>doceiglookfor按指定的
关键词查询与之相关的命令例:>>lookforinversewhich显示指定函数所在的目录例:>>which
eig其它相关命令cd、dir、more查找命令Matlab的命令记忆功能:上下箭头键命令补全功能:Ta
b键用Esc键删除命令行命令home、clc可以先输入命令的前几个字符,再按上下键缩小搜索范围1、写出可以
完成下列任务的Matlab命令(函数):(1)Matlab中的圆周率?约等于多少?(2)Matlab中的浮点运算相对
精度是多少?(3)如何知道命令realmax,realmin的具体用法?(4)如何知道函数max的作用?并举例加以说明
。2、回答以下问题:(1)Matlab是什么含义?(2)Matlab命令who与whos有什么区别?(3)如
何使用Matlab命令补全功能?(4)Matlab命令clear、clc与home有什么区别?3、写出可以完成下
列任务的Matlab命令:(1)生成5阶的单位阵和8阶均匀分布的随机矩阵(2)生成一个列向量x=[1,3
,5,7,9,…,99](3)生成以x的前8个元素为对角线的矩阵A(4)生成一个与A同阶的正态分
布的随机矩阵B(5)计算A的转置与B的下三角部分的乘积C(6)删除C的第三行和第二列(7)生成由B的
第2、4、5行和第4、1列组成的子矩阵D(8)教材第53页,第5题(提示:5(7)需用到diag的特
殊用法)——Matlab基础Matlab介绍Matlab的基本用法程序设计语言:BASIC,Pa
scal,FORTRAN,C,...数值计算软件:Matlab,Scilab,Octave,...符号计算软件:
Mathematica,Maple,...交互式数学软件:MathCAD,Calcwin,...统计软件:SAS,SPSS
,Minitab,...数学规划软件:Lingo,Lindo,...工程计算软件:Ansys,Fluent,Phoenic
s,...其它:几何画板,MathLab,...数学相关软件Matlab在欧美各高等院校,Matlab是线性代
数、数值分析、数理统计、自动控制、数字信号处理、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。
Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年推向市场以来,经过多年的发展与竞争,现已成为国
际公认的最优秀的工程应用开发环境。MatrixLaboratory矩阵实验室MatlabMatlab的发展19
80年,Moler教授用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。1984年,M
oler等成立了TheMathWorks的公司,用C语言完全改写Matlab,并推出第一个商业版。到九十
年代,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头。目前,Matlab已成为世界
顶尖的数学应用软件就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。Matlab的发行版本198
4年,Matlab1.0(DOS版,182K,20多个函数)1992年,Matlab4.0(93年推出Windows版,
加入simulink)1994年,Matlab4.2(得到广泛重视和应用)1999年,Matlab5.3(真正实现32位
运算)2002年,Matlab6.5(采用JIT加速器)2004年,Matlab7.0自2006年起,Matlab每年
更新两次目前最新版为R2011b(2011年9月发布)获取Matlab软件插入光盘,自动运行;或点击安装程序
setup.exe必须安装的部件MatlabSymbolicMathToolboxExtendedSymbo
licMath这里以Matlab7为例自R2008a开始增加了激活要求(安装方法见课程主页;
符号计算工具箱合成了一个)Matlab具有很强的数值计算功能Matlab以矩阵作为数据操作的基本单位,
但无需预先指定矩阵维数(动态定维)按照IEEE的数值计算标准进行计算提供十分丰富的数值计算函数,方便计算,提高效率
Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握Matlab是一个交互式软件系统输入一条命令,
立即就可以得到该命令的运行结果Matlab的符号计算功能Matlab和著名的符号计算语言Maple相结合Matl
ab的编程功能Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,且简单易学、编程效率高M
atlab的绘图功能Matlab提供丰富的绘图命令,很方便实现数据的可视化Matlab丰富的工具箱(toolbox)
根据专门领域中的特殊需要而设计的各种可选工具箱Matlab的Simulink动态仿真集成环境提供建立系统模型、选择仿真
参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能SymbolicMathPDEOpt
imizationSignalprocessImageProcessStatisticsControlSystem
SystemIdentification……Matlab介绍Matlab的基本用法Matlab的启动
使用Windows“开始”菜单运行Matlab系统启动程序matlab双击Matlab快捷图标Mat
lab的退出在Matlab主窗口File菜单中选择ExitMatlab在Matlab命令窗口输入exi
t或quit单击Matlab主窗口的“关闭”按钮命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示
符Matlab变量的命名规则以字母开头后面可以跟字母、数字和下划线长度不超过63个字符(6.5版本
以前为19个)字母区分大小写Matlab语句的通常形式变量=表达式表达式是用运算符将有关运算量连接起来的
式子,其结果被赋给赋值号“=”左边的变量who显示工作空间中的所有变量whos显示变量的详细属性查看已定
义的变量:who、whos清除变量:clearclear清除工作空间中的所有变量cl
ear变量名清除指定的变量pi:圆周率?,其值为imag(log(-1))inf,Inf:无穷大
nan,NaN:Not-a-Number,一个不定值,如0/0eps:浮点运算相对精度特殊变量ansi,j
:虚部单位,即注:应尽量避免给系统预定义变量重新赋值!系统预定义的变量Matlab中的数默认是双精度实数,表示方法同
C语言3,-9,0.4,1.603e-12,3.23e+20浮点运算的相对误差为eps浮点数表示范围为:1
0-308~10308复数的输入z=3+4i(4与i之间不能有空格)数与算术表达式注:复数作为矩
阵元素输入时,加号两边不能有空格!+加法-减法乘法/和\除法(右除和左除)^
幂运算命令分隔符:逗号和分号数学运算符若不想在屏幕上输出结果,可以在语句最后加分号如果语句很长,可用续行符“…
”(三个点)续行续行符的前面最好留一个空格例:分号和续行符的作用定义矩阵:直接输入法矩阵用方括号“[]
”括起矩阵同一行中的元素之间用空格或逗号分隔矩阵行与行之间用分号分开直接输入法中,分号可以用回车代替
例:>>A=[123;456;789]Matlab的操作对象
矩阵>>是命令提示符,不用输入回车运行所输入的命令矩阵元素可以是任何数值表达式例:>>x=[-
1.3,sqrt(3),(1+2+3)4/5]矩阵元素的单独赋值例:>>x(5)=abs(x(1))例:>>x(
5)=abs(x(6))??动态定维功能:Matlab会自动扩展向量的长度,
并将未赋值部分置零大矩阵可以把小矩阵作为其元素例:>>A=[A;111213]在原矩阵的下方加一行
如何在原矩阵的右边添加一列?空矩阵例:>>B=[]单个元素的引用例:>>x=A(2,3)+A(3,2)
利用小括弧和元素所在的位置(下标)x(i):向量x中的第i个元素A(i,j):矩阵A中的第
i行,第j列元素多个元素的引用:冒号的特殊用法例:>>x=1:2:5>>y=1:2:6例:>>x=2:1:
5>>y=2:5例:>>x=3:2:1a:b:c产生一个由等差序列组成的向量:a是首项,b是公差,c
确定最后一项;若b=1,则b和其前面的冒号可以省略例:>>x(1:3)>>A(3,1:3)例:>
>A(1,:)>>A(:,1:3)>>A(:,:)A(i:j,m:n)表示由矩阵A的第
i到第j行和第m到第n列交叉线上的元素组成的子矩阵可利用冒号提取矩阵的整行或整列提取矩阵的部分元
素:冒号运算符A(:)A的所有元素A(:,:)矩阵A的所有元素A(:,k)A的第k列,
A(k,:)A的第k行A(k:m)A的第k到第m个元素A(:,k:m)A的第k
到第m列组成的子矩阵A(:)与A(:,:)的区别?如何获得由A的第一、三行和第一、二列组成的子矩阵?自己
动手从大矩阵中提取一个子矩阵A(I,J)其中I=[i1,i2,…,im],J=[j1,j2,…,jm
]表示由A的第i1,i2,…,im行和第j1,j2,…,jm列组成的子矩阵。例:>>A([1,3
,4],[2,3])删除指定的行或列例:>>A(3,:)=[]例:>>A(:,[1,2,4])=[]M
atlab提供了一些函数,用于生成一些常见的特殊矩阵例:>>C=magic(3)>>D=hilb(4)>>
E=rand(4)一些特殊矩阵的生成其它特殊矩阵生成函数:magic、hilb、pascal等产生0~1间均匀分
布的随机矩阵m=n时简写为rand(n)rand(m,n)产生均值为0,方差为1的标准正态分布随机矩阵m=n时简写为
randn(n)randn(m,n)提取一个矩阵的上三角部分triu(A)提取一个矩阵的下三角部分tril(A)若X是矩阵,则diag(X)为X的主对角线向量若X是向量,diag(X)产生以X为主对角线的对角矩阵diag(X)生成一个主对角线全为1的m行n列矩阵,m=n时可简写为eye(n),即为n维单位矩阵eye(m,n)生成一个m行n列的元素全为1的矩阵,m=n时可写为ones(n)ones(m,n)生成一个m行n列的零矩阵,m=n时可简写为zeros(n)zeros(m,n)矩阵的加减:对应分量进行运算矩阵的普通乘法参与加减运算的矩阵具有相同的维数!>>A=[1,2;3,4];B=[5,6;7,8]>>C=A+B>>D=B-A例:参与运算的矩阵须满足线性代数中矩阵相乘的原则!>>A=[1,2,3;4,5,6];B=[2,1;4,3]>>C=BA例:
献花(0)
+1
(本文系薇薇one图书...首藏)