Matlab教程全部介绍

  • 格式:pdf
  • 大小:9.68 MB
  • 文档页数:51
变量名区分大小写; 变量名长度不超过31位: 变量名以字母开头,变量名中可包含字母、数字、下划线。
Matlab有一些预定义的变量,这些特殊的变量称 为常量。例如pi定பைடு நூலகம்为圆周率,Inf定于为无穷大。
2)数字变量 简单的数字变量的赋值和计算可以在指令窗口中 直接完成。例如:
>>x=258*369 x= 95202
2)编辑变量数值
注意: Array Editor仅能打开一维或二维的数值数组和 字符串数组。
内存变量的保存: 可以在指令窗口中使用save FileName的方式来 保存,也可以使用Workspace的快捷键。
数据可视化: Workspace自带了一个功能强大的右键菜单, 其中最常用的是Graph。
3)字符串变量 Matlab的字符串变量在结构上与C语言一样,只 是定义方式略有不同。
>> s='matrix laboratory' s= matrix laboratory
2.矩阵及其运算 1)矩阵的生成
矩阵的创建可以直接在指令窗口中进行,有如 下规则需要遵循。
输入矩阵时要以“[ ]”为其标识,即矩阵的元素应 在“[ ]”内部。 矩阵的同行元素之间可用空格或“,”分隔,行 与行之间要用“;”或回车符分隔。 矩阵的大小可不预先定义。 矩阵元素可以为运算表达式。 无任何元素的空矩阵也是合法的。 例如:
先建立M文件fun1.m定义函数f(x),再在Matlab 命令窗口输入fun1(2), fun1(-1)即可。 fun1.m
2.控制语句 1)循环语句
for循环 调用格式: for v=expression statements end 例如:
for i=1:n x(i)=0; end
While循环 调用格式: while expression statement end
网图函数 meshgrid,mesh
[X,Y]=meshgrid(x,y) x和y为给定的向量,一 方面可以用来定义网格划分区域;另一方面也可 以用来定义网格划分方法。X和Y则是网格划分 后的数据矩阵。
mesh(X,Y,Z,C) 格面图形。 mesh(X,Y,Z) 于图高。 绘制四个矩阵变量的彩色网
三、数值计算功能
数值计算功能是Matlab软件的基础,Matlab所有 的功能都是建立在强大的数值计算能力上的。
1.数据类型 Matlab的数据类型主要包括:数字、字符串、矩 阵(数组)、单元型数据及结构型数据。
1)变量与常量 变量是任何程序设计语言的基本元素,Matlab当 然也不例外。不同的是,Matlab并不要求对所使 用的变量进行事先声明,也不需要制定变量类型, 它会自动根据赋予变量的值或对变量所进行的操 作来确定变量的类型。 在Matlab中变量的命名遵守如下规则:
angle(z) 复数z的相角 real(z) 复数z的实部 imag(z) 复数z的虚部 fix(x) 舍去小数取整 ceil(x) 加入正小数取整 sign(x) 符号函数 rem(x,y) 求x除以y的余数 lcm(x,y) 最小公倍数 pow2(x) 以2为底的指数 log2(x) 以2为底的对数
例如:
n=1; while prod(1:n)<1e100 n=n+1; end
和C语言一样,Matlab也提供了两个循环终止函 数:break和continue。其作用与C语言中的相 应函数完全一致。
2)选择语句 if-else-end 调用格式:
if expression() statements; else expression() statements; end
例:编程求
n
30 n 1
2
1

for1.m
建立m文件for1.m,直接运行。
如果不使用循环函数呢? unfor1.m
3)程序设计的优化 以矩阵作为操作主体 循环运算是Matlab最大的弱点。因此在程序设计 时,应尽可能避免循环运算。主要方法是强调对 矩阵整体的运算,避免对矩阵元素的操作。
>> a=[1,2,3;4,5,6;sin(pi/6),cos(pi/3),3^2] a= 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 0.5000 0.5000 9.0000
2)矩阵的基本数学运算
矩阵的基本运算包括矩阵的四则运算、与常数的 运算、行列式运算、幂运算、指数运算、对数运 算和开方运算等等。
使用C=Z,即网图高度正比
>> [X,Y]=meshgrid([-4:0.5:4]); >> Z=sqrt(X.^2+Y.^2); >> mesh(X,Y,Z)
五、程序设计
Matlab作为一种高级计算语言,不仅能以人机 交互式的命令行方式工作,还可以像C、BASIC 等高级语言一样进行控制流的设计,即编制m文 件。 1.m文件 m文件本质上是一个命令集式的纯文本文件,用 户将所要运行的所有指令罗列在一起,再统一送 到指令窗口中运行。
3)矩阵分析与处理
norm:计算矩阵或者向量的范数 rank:计算矩阵的秩 det:计算矩阵的行列式 trace:计算矩阵的迹 [s,u]=eig(A):求特征向量和特征值 poly:求特征多项式 \和/:线性方程求解 inv:矩阵求逆
4)关系和逻辑运算
关系操作符 > < >= 说明
<= == ~= 逻辑操作符
1984年,MathWorks公司成立,Matlab作 为一个商业软件正式推向市场。
目前,在国际上30多个数学科技应用软件 中,Matlab在数值计算方面处于绝对的领先位 置。此外,基于Maple的符号计算功能以及与 Word无缝连接的Notebook技术,使得Matlab 成为一个融科学计算、图形可视、文字处理于 一体的高水准开发环境。
二、Matlab操作界面简介
mand Window 虽然理论上讲Matlab中所有的函数都可以在 这一窗口中使用,但是由于不能多行输入,所 以Command Window一般只用于简单的计算和 作图。
2 12 2 7 4 3 例:求 的算术计算结果。
(1)用键盘在Matlab指令窗口中输入以下内容 >>(12+2*(7-4))/3^2
3.Workspace Browser和Array Editor 工作空间浏览器有多种功能:内存变量的查阅、 保存、编辑以及数据可视化。
内存变量的查阅、编辑: 在Workspace窗口可以直接了解到变量的结构大 小、占用空间以及类型。 还可以通过双击相应的变量开启Array Editor。
Array Editor的使用方法 1)改变显示方式Numeric format
mand History 历史指令窗记录着用户在Matlab指令窗口中 输入过的所有指令行。
历史记录包括:每次开启 Matlab的时间,及每次开启 Matlab后在指令窗口中运行 过的所有指令行。 在历史指令窗中不但能清楚 地显示指令窗中运行过的所 有指令行,而且所有这些被 记录的指令行都能被复制, 或送到指令窗中再运行。
& |
大于 小于 大于等于 小于等于 等于 不等于 说明
与 或
~

5)几种常用的工具阵 全 0阵 zeros(N),zeros(M,N),zeros(M,N,P,…)
单位阵 eye(N),eye(M,N) 全1阵 ones(N),ones(M,N),ones(M,N,P,…)
随机阵 rand(N),rand(M,N),rand(M,N,P,…), randn(N),randn(M,N),randn(M,N,P,…)
6)常用矩阵函数 max(x) min(x) sum(x) prod(x) mean(x) length(x) size(x) sort(x) 最大值 最小值 求和 求乘积 平均值 向量长度 矩阵维数 排序
3. 常用数学函数
abs(x) 绝对值 sqrt(x) 开平方 conj(z) 共轭复数 round(x) 四舍五入 floor(x) 舍去正小数 rat(x) 化为分数表示 gcd(x,y) 最大公因数 exp(x) 自然指数 log(x) e为底的对数 Log10(x) 10为底的对数
2.三维图形
plot3函数
plot3函数是plot的三维扩展,基本格式如下: plot3(x,y,z) 其中x、y和z为3个相同维数的向 量。 plot3(x,y,z) 其中x、y和z为3个相同阶数的矩 阵。 plot3(x,y,z,s) s为图形设置参数
>> x=0:pi/50:10*pi; >> y=sin(x); >> z=cos(x); >> plot3(x,y,z) >> grid on
(2)在上述表达式输入完成后,按【Enter】键, 该指令就被执行。
(3)在指令执行后,Matlab指令窗口将显示 以下结果: ans= 2 说明: Matlab基本的语法与C语言是完全一致的。 本例计算结果显示中的“ans”是英文“answer” 的缩写,这是Matlab用于显示结果的一个默认 变量。 如果在表达式(12+2*(7-4))/3^2后加上“;”, 则不显示运行结果。
Matlab简介
本讲基本内容
一、Matlab的历史与发展 二、操作界面简介 三、数值计算功能 四、数据和函数的可视化 五、程序设计 六、帮助系统
一、Matlab的历史与发展
Matlab是MATrix LABoratory的缩写。
20世纪70年代后期,时任美国新墨西哥大 学计算机科学系主任的Cleve Moler教授,出 于减轻学生编程负担的动机,为学生设计了一 组调用LINPACK和EISPACK库程序的“通俗 易用”的接口,此即为萌芽状态的Matlab。