当前位置:
文档之家› 第2章 MATLAB的基本语法(1)
第2章 MATLAB的基本语法(1)
whos
Name a ans Size 2x3 1x1 Bytes Class 48 double array
每个实元 素占8个 字节
16 double array (complex)
复元素占 16个字节
b
c f x z
2x2
1x1 1x1 1x5 2x2
32 double array
16 double array (complex) 16 double array (complex) 40 double array 64 double array (complex)
f=sqrt(1+2i)
f= 1.2720 + 0.7862i
>> f*f
ans = 1.0000 + 2.0000i
变量检查
在调试程序时,要检查工作空间中的 变量及其阶数 变量检查用who命令
who
Your variables are:
a ans b
c f x
z
详细特征用whos命令
hankel hilb invhilb
[ 例 2.1] 计算表达式的值,并将结果赋给 变量x,然后显示出结果。 在MATLAB命令窗口输入命令:
x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i) %计算表达式的值
x=
1.1980 + 0.6572i
2.2.3 数据的输出格式 • MATLAB用十进制数表示一个常数,具体可 采用日常记数法和科学记数法两种表示方法。 • 数据输出时用户可以用 format 命令设置或改 变 数 据 输 出 格 式 。 format 命 令 的 格 式 为 : format 格式符 • 注意, format 命令只影响数据输出格式,而 不影响数据的计算和存储。
0
1.3000
a(4,3)=6.5
a= 1.0000 4.0000 7.0000 2.0000 5.0000 8.0000 3.0000 6.0000 9.0000
a(5,:)=[5,4 3]
a= 1.0000 2.0000 3.0000
4.0000 5.0000 6.0000
7.0000 0 5.0000 8.0000 0 4.0000 9.0000 6.5000 3.0000
• 相关的函数有:length(A)给出行数和列数中的较 大者,即 length(A)=max(size(A)) ; ndims(A) 给出 A的维数。
例2.3 分别建立3×3、3×2和与矩阵A同样大小 的零矩阵。 (1)建立一个3×3零矩阵:zeros(3) (2)建立一个3×2零矩阵:zeros(3,2) (3)建立与矩阵A同样大小零矩阵:zeros(size(A))
1 4 7 2 5 8 3 6 9
2. 利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门 建立一个M文件。 例2.2 利用M文件建立MYMAT矩阵。 (1) 启动有关编辑程序或 MATLAB 文本编辑器, 并输入待建矩阵. (2) 把输入的内容以纯文本方式存盘 ( 设文件名 为mymatrix.m)。 (3) 运 行 该 M 文 件 , 就 会 自 动 建 立 一 个 名 为 MYMAT的矩阵,可供以后使用。
0
5.0000
0
4.0000
6.5000
3.0000
要抽去a中的第2行,第4行,第5行,可用空 矩阵[ ] 的概念 空矩阵是指没有元素的矩阵,元素都消失掉 零矩阵元素是存在的,只是值为零
a=
1.0000 2.0000 3.0000
4.0000 7.0000 0 5.0000 5.0000 8.0000 0 4.0000 6.0000 9.0000 6.5000 3.0000
基本矩阵
名称 含义
全零矩阵(mXn阶) zeros ones rand randn eye(n) 全么矩阵(mXn阶) 随机数矩阵(mXn阶) 正态随机数矩阵(mXn阶) 单位矩阵(方阵)
名称
logspace
freqspace meshgrid
含义
对数均分向量(1Xn阶数组) 频率特性的频率区间 画三阶曲面时的X,Y网络 将元素按列取出排成一列
此外,常用的函数还有 reshape(A,m,n) ,它在 矩阵总元素保持不变的前提下,将矩阵A重新 排成m×n的二维矩阵。
例
• a= • • • • 1 2 3 4 5 6 7 8 9 10 11 12
• >> b=reshape(a,3,4)
• b= • • • 1 4 7 10 8 6 2 11 9 5 3 12
3. 内存变量文件 利用 MAT 文件 (.mat) 可以把当前 MATLAB 工作空间中的一些有用变量长久地保留下 来。 MAT 文件的生成和装入由 save 和 load 命令 来完成。常用格式为:
save 文件名 [变量名表] load 文件名 [变量名表]
2.3 MATLAB矩阵
2.3.1 矩阵的建立 1. 直接输入法 将矩阵的元素用方括号括起来,按矩阵 行的顺序输入各元素,同一行的各元素 之间用空格或逗号分隔,不同行的元素 之间用分号分隔。例如 A= A=[1 2 3;4 5 6;7 8 9]
(0/0,0*Inf,Inf/Inf)
基本赋值矩阵
ans pi Inf NaN i或j 预设的计算结果的变量名 内建的π值 ∞值,无限大 () 无法定义一个数目 () 虚数单位i=j=√-1
Nargin nargout realmax realmin flops eps
函数输入参数个数 函数输出参数个数 最大的正实数 最小的正实数 浮点运算次数 MATLAB定义的正的极小值=2.2204e-16
将矩阵的实部和虚部分别赋值
z=[1,3;5,7]+[2,4;6,8]*i
z=
1.0000 + 2.0000i 3.0000 + 4.0000i
5.0000 + 6.0000i 7.0000 + 8.0000i
如果在前面其它程序中曾给i,j赋过值,则 i,j此时已不是虚数符号。此时应键入 clear i,j 把曾赋值的i,j清除掉,恢复为虚数标识符 MATLAB中所有的运算符和函数对复数 有效
4. 建立大矩阵 大矩阵可由方括号中的小矩阵建立起来。 例如 A=[1 2 3;4 5 6;7 8 9]; C=[A,eye(size(A)); ones(size(A)),A]
C= 1 4 7 1 1 1 2 5 8 1 1 1 3 6 9 1 1 1 1 0 0 1 4 7 0 1 0 2 5 8 0 0 1 3 6 9
0
0
6.5000
给a的第五行全 行赋值,用:号
把a的第2行和第4行及第1列和第3列交 点上的元素提出,构成一个新矩阵b
a= 1.0000 4.0000 7.0000 2.0000 5.0000 8.0000 3.0000 6.0000 9.0000
b=a([2 4],[1 3])
b= 4.0000 6.0000 0 6.5000
2.2 变量和赋值
2.2.1 变量的命名 在 MATLAB 中,变量名是以字母开头, 后接字母、数字或下划线的字符序列, 最多19个字符。 在 MATLAB 中,变量名区分字母的大小 写。 MATLAB 提供的标准函数名以及命 令名必须用小写字母。
2.2.2 赋值语句
赋值就是把数赋予代表常量或变量的标识符。 MATLAB中的变量或常量都代表矩阵。 MATLAB赋值语句有两种格式: (1) 变量=表达式(或数) (2) 表达式 一般地,运算结果在命令窗口中显示出来。如 果在语句的最后加分号,那么, MATLAB 仅 仅执行赋值操作,不再显示运算的结果。 在 MATLAB 语句后面可以加上注释,注释以 %开头,后面是注释的内容。 矩阵的值放在“[ ]” 中,同一行元素之间以“,” 或空格分开; 句尾用“ , ”或回车,此时显示 结果;若不希望显示结果以“;”号结尾再回车。
Grand total is 22 elements using 232 bytes
介绍Inf(无穷大infinite)和NaN(非数 not a number)
1/0
Warning: Divide by zero. ans = Inf Inf/Inf ans = NaN
Inf
(1/0)
NaN
第2章 MATLAB数据
2.1 2.2 2.3 2.4 2.5 2.6 MATLAB数据的特点 变量和赋值 MATLAB矩阵 MATLAB运算 字符串 结构和单元
2.1 MATLAB数据的特点
1) 矩阵是 MATLAB 最基本、最重要的数据对象。 单个数据(标量)可以看成是矩阵的特例。 2) MATLAB数据类型----只有一种双精度型 数值数据:双精度型(64)、单精度数(32)、 带符号整数和无符号整数。 字符数据(8)。 结构(Structure)和单元(Cell)。 多维矩阵和稀疏矩阵(Sparse)。
:
prod
linespace
总乘积
均分向量(1Xn阶数组)
矩阵结构形式提取和变换
名称 fiplr fipud fipdim Rot90 含义 矩阵左右翻转 矩阵上下翻转 矩阵特定维翻转 矩阵反时针90翻转 名称 diag tril triu 含义 产生或提取对角阵 产生下三角 产生上三角
特殊矩阵
compan Companion矩 magic 阵 Higham矩阵 pascal Handmard矩 rosser 阵 Hankel矩阵 Hilbert矩阵 Hilbert逆矩 阵 toeplize vander wilkinson 魔方矩阵
gallery