第1章 MATLAB基础知识与编程方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLSB 软件开发 A=rand(m,n) A=randn(m,n) A=zeros(m,n)
元素服从 0 和 1 之间均匀分布的随机矩阵 元素服从零均值单位方差正态分布的随机矩阵 全部元素都为 0 的矩阵
MATLSB 软件开发 1.3.5 矩阵的其它相关操作
MATLAB 具有矩阵大小的查询功能. 查询矩阵的大小可以用[m,n]=size(A)命令,返回 A 矩阵的行数 m 和列数 n;还可以用 n=length(A)命令,返回 A 矩阵的行数和列数中的最大值
点符号在 MATLAB 中具有特殊含义,所以变量名中不允许使用标点符号.
MATLSB 软件开发 除了这些命名规则,MATLAB 还有几个特殊变量. 表 1.1 特殊变量表
特殊变量 取值或说明
备注
MATLSB 软件开发 ans
用于结果的缺省变量名

Inf
无穷大,如 1/0

NaN
不定量,如 0/0

pi
已知
4
第 1 章 MATLAB 基础知识与编程方法
a= 123
则有 M4 A5 T6 LSB 软件开发
MATLSB 软件开发 a+1= 234 567
MATLSB 软件开发 a*2= 246 8 10 12
MATLSB 软件开发 a/2= 0.5000 2.0000
1.0000 2.5000
1.5000 3.0000
关系操作符 说明
逻辑操作符 说明
MATLSB 软件开发 <
小于
&

<=
小于等于
|

>
大于
~

>=
大于等于
==
等于
~=
不等于
6
第 1 章 MATLAB 基础知识与编程方法
关系操作符可用来比较两个同样大小的数组、或比较一个数组与一个标量. 数组和标量
MATLSB 软件开发 比较时,数组的每一个元素与标量比较,结果数组与原数组大小一样,其元素只有 0 和 1. 逻
22
MATLSB 软件开发 43
50
a . * b=
5
12
21
32
5
第 1 章 MATLAB 基础知识与编程方法
可以看出,这两种乘积结果是不同的. 前者是普通矩阵乘积,而后者是两个矩阵对应元 素之间的乘积. 在进行矩阵的点运算时,要求运算的两个矩阵的维数一致,其实一些特殊的
MATLSB 软件开发 矩阵函数,如B=sin(A)也是由点运算的形式来进行的,因为它要对矩阵的每个元素求取正弦
如果输入的同名矩阵的维数小于原矩阵维数,MATLAB 认为是原矩阵修改了部分元素或子
MATLSB 软件开发 块. 增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素改为 0. 1.3.2 矩阵与标量的四则运算
运算包括+、-、×、÷运算,矩阵和标量运算完成矩阵的每个元素对该标量的运算. 如
MATLSB 软件开发 维数的低维数组表示. 1.2.3 常用数学函数
MATLAB 所支持的常用数学函数见表 1.2. 注意,MATLAB 只对孤度操作.
MATLSB 软件开发 表1.2 常用数学函数
命令
说明
命令
说明
abs(x)
绝对值
floor(x)
对-∞方向取整数
MATLSB 软件开发 acos(x)
MATLSB 软件开发 x=1:0.5:4, y=1:4, z=4:2
显示
MATLSB 软件开发 x = 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000
y=1 2 3 4
z=[M] ATLSB 软件开发
在命令 x=1:0.5:4 中的 0.5 表示步长,缺省时步长为 1. 三维以上数组可通过一系列相同
可建立单一变量 a,一维数组 x,c,二维数组 y,d;并在 MATLAB 命令窗口中显示
MATLSB a = 2
y=
软件开发
123
MATLSB 软件开发 4 5 6
c=1 2 3
多条命令可以放在同一行,中间用逗号或分号隔开. 逗号要求显示结果,分号禁止显示 结果. 没有显示 x,d,是因为该命令是以分号“;”结束的. 若要知道某个变量或数组的内容,
控制语句包括循环与条件语句. 它们决定了运算过程和路径,因此被称为控制语句. 循
MATLSB 软件开发 环和条件语句包含在每一种可以用于进行科学计算的计算机语言中. 它们更适合人的思维,
扩展了计算功能,并节省了语句,使程序看来更为简洁、清晰.
1.4.1 关系和逻辑运算
MATLSB 软件开发 MATLAB 给出的关系与操作符如表 1.4. 表 1.4 关系与逻辑操作符
acosh(x)
反余弦 反双曲余弦
gcd(x, y) lcm(x, y)
整数 x 和 y 的最大公约数 整数 x 和 y 的最小公倍数
asin(x)
反正弦
log(x)
自然对数
asinh(x) 反双曲正弦
log10(x) 常用对数
MATLSB 软件开发 atan(x)
atanh(x)
反正切 反双曲正切
“sin(3.1415)”等按回车键后可显示其结果. 记 录 内 存 变 量 名 窗 口 及 记 录 历 史 命 令 窗 口 等 可 通 过 菜 单 栏 中 view 下 拉 菜 单 中
Workspace 及 Command History 等命令显示或隐藏.
MATLSB 软件开发 命令 clc 清出 MATLAB 命令窗口中所有内容;命令 clear 清出工作空间中所有变量;命
则显示
%将 a 的第 1 列中所有元素换成 0
MATLSB 软件开发 a=
7
8
9
4
5
6
MATLSB 软件开发 a=
7
0
9
4
0
6
MATLSB 软件开发 若再键入 a(2,6)=10
%第 2 行第 6 列元素等于 10
显示 a=
MATLSB
软件开发
7
0
9
0
0
0
MATLSB 软件开发 4
0
6
0
0
10
MATLAB 已定义的矩阵的维数可以扩大,但不能缩小,除非利用 cle(x)
除后余数;返回 x/y 的余数 四舍五入到最接近的整数
ceil(x)
对+∞方向取整数 sin(x)
正弦
cos(x)
余弦
sinh(x)
双曲正弦
MATLSB 软件开发 cosh(x)
exp(x)
双曲余弦 指数函数ex
sqrt(x) tan(x)
平方根 正切
fix(x)
对零方向取整数
tanh(x)
双曲正切
1.3 MATLSB 数组或矩阵运算 软件开发
由于数组和矩阵的含义有一样,因此,所有有关矩阵的运算都可以用于数组运算,今后 不再区分数组与矩阵.
3
第 1 章 MATLAB 基础知识与编程方法
1.3.1 矩阵块操作 MATLAB 中提供了很多简便、智能的方式,可以对矩阵进行元素更改、插入子块、提
值(bij=sin(aij)).
1.3.4 产生特殊矩阵的函数
MATLSB 软件开发 MATLAB 定义了一些特殊矩阵,不必一一赋值定义. 特殊矩阵定义见表 1.3.
表 1.3 特殊矩阵
MATLSB 软件开发 命令 A=[ ] A=eye(n)
说明 空矩阵 n 维单位矩阵
A=ones(m,n) 全部元素都为 1 的 m 行 n 列矩阵
第 1 章 MATLAB 基础知识与编程方法
第 1 章 MATLAB 基础知识与编程方法
MATLSB 软件开发 本章主要介绍与 MATLAB 编程相关的一些基础知识.
1.1 MATLAB 快速入门
MATLSB 软件开发 启动 MATLAB 软件后,得到如图 1-1 画面:
MATLSB 软件开发 工作路径
的变量,原始特殊取值将会丢失,直到清除所有变量或重新启动 MATLAB. 一般来讲,应 当尽量避免重新定义特殊变量,特别是备注中打“√”变量.
MATLSB 软件开发 1.2.2 数据建立
MATLAB 中的数据变量无需申明其变量类型,这是它与 C 语言的区别之一. 例如,键 入
MATLSB 软件开发 a=7-5, x=[1,2,3]; y=[1,2,3;4,5,6], c=[1 2 3], d=[1 2 3;4 5 6];
2
第 1 章 MATLAB 基础知识与编程方法
在 MATLAB 命令窗口中键入变量或数组名回车即可. 在数组的输入方式上,x 和 c 一样,y 和 d 一样. [ ]内的“;”表示换行,直接换行也可. 如将 Word 文当中一个 4 行 5 列的数据可
MATLSB 软件开发 拷贝到“A=[]”中的[ ]内,则 A 表示一个 4 行 5 列的二维数组. 在 MATLAB 中,一维数组 x 中第 k 个元素用 x (k)访问,二维数组 A 中第 i 行第 j 列元 素用 A (i, j)访问,这与 C 语言是有区别的. 同样是一维数组,在 MATLAB 中一维行向量和 一维列向量是不同的. 等步长一维数组产生方法,如键入
设置工作路径
MATLSB 软件开发 工作空间中
变量名窗口
工作空间或 MATLAB 命令窗口
MATLSB 软件开发
MATLSB 历史命令窗口 软件开发
MATLSB图1-软1 件开发
在工作空间或 MATLAB 命令窗口中输入 MATLAB 认可的任何命令,按回车键都可执
MATLSB 软件开发 行其操作. 如“3+5”、“3-5”、“3*5”、“3/5”、“3/5+1”、“3/(5+1)”、“3/5*2”、“3/(5*2)”、“exp(1)”、
令 clear x 清出工作空间中变量 x . 要想知道某个命令的用法,可以用 help. 例如:help plot 可得到绘图命令 plot 的用法.
百分号%后所有的文字为注释,注释语句不能执行.
MATLSB 软件开发 在 PC 机上运行时,可以随时按下 CTRL+C 键中断 MATLAB 的运行.
MATLSB 软件开发 1.3.3 矩阵与矩阵间的运算
矩阵 A 和 B 维数完全相同时,可以进行矩阵加减法运算. 它会自动地使得 A 和 B 矩阵 的相应元素相加减. 如果 A 和 B 的维数不相等,则 MATLAB 将自动地给出错误信息,提示 两个矩阵的维数不相等.
MATLSB 软件开发 两个矩阵 A,B 的维数相容时(A 的列数等于 B 的行数),可以进行 C=A×B 的运算.
1.2 变量、数据与函数
1.2.1 变量 像任何其它计算机语言一样,MATLAB 也有变量命名规则. 变量名必须是不含有空格
1
第 1 章 MATLAB 基础知识与编程方法
的单个词. 变量命名规则(基本上同 C 语言)如下:
变量名区分字母大小写,如 ltems, items, itEms 及 ITEMS 都是不同的变量.
n.
MATLSB 软件开发 矩阵的转置用A' 表示.
1.4 逻辑运算与控制语句
MATLSB 软件开发 除了传统的数学运算,MATLAB 还支持关系和逻辑运算,目的是提供求解真假命题的
答案. 对于所有关系和逻辑表达式的输入,MTLAB 把任何非零数值当做真,把零当做假. 而 对于所有关系和逻辑表达式的结果为真时输出 1,假时输出 0.
MATLSB 软件开发 取子块、重排子块、扩大维数等操作. 这里,重要的是冒号“:”的应用. 在 MATLAB 中,
冒号“:”表示“全部”. 如已知
a=
MATLSB 软件开发 1
2
3
4
5
6
b=
7
8
9
若键入 MATLSB 软件开发
a(1,:)=b
%将 a 的第 1 行中所有元素用 b 的元素替代
MATLSB 软件开发 a(:,2)=0
圆周率
MATLSB 软件开发 eps
flops
计算机的最小数,当和 1 相加就产生一个比 1 大的数 浮点运算数
i(和)j
i2 = j2 = −1
nargin
所有函数的输入变量数目
MATLSB 软件开发 nargout
realmin
所有函数的输出变量数目 最小可用正实数
realmax
最大可用正实数
MATLSB 软件开发 表 1.1 中的特殊变量在启动 MATLAB 之后,自动赋予表中取值. 如果定义了相同名字
MATLAB5.3 以下的版本变量名最多不超过 19 个字符. 第 19 个字符之后的字符将被忽
MATLSB 软件开发 略,如 howaboutthisvariablename 只能表示为 howaboutthisvariabl. 变量名必须以字母打头,之后可以是任意字母、数字或下划线,如 x1,x2,a_b_c. 标
MATLAB 中还定义了一种特殊的运算,即所谓的点运算. 当两个矩阵维数完全相同时, 可以进行点运算,两个矩阵之间的点运算是该矩阵对应元素的直接运算. 例如,已知 A,B 矩阵
a= M1 A2 TLSB 软件开发
3
4
b= M57 A68 TLSB 软件开发
MATLSB 则有 a * b=
软件开发
19
相关文档
最新文档