当前位置:
文档之家› 第2章 matlab数值计算功能
第2章 matlab数值计算功能
5
2.1.3 矩阵及其元素的赋值
矩阵是 MATLAB 进行数据处理的基本单元,MATLAB 的大部分运算
都是在矩阵的意义上进行的。
MATLAB中的变量或常量都代表矩阵,标量应看作是1×1阶的矩阵。
矩阵运算也是 MATLAB 最重要的运算。
矩阵的创建可以通过以下几种形式: (1)直接列出元素; (2)通过语句和函数产生;
22
2.2.2 format 命令(数据格式)
format 用来控制 数据 显示格式。 format compact 数据显示紧凑格式 format loose 数据显示稀疏格式(系统默认) ※ format 命令只改变数字的显示格式,并不改变 数字的大小。
23
format 命令 只改变数字 的显示格式, 并不改变数 字的大小。
29
2. 乘(、. )运算
① 矩阵乘()运算A*B Nhomakorabea矩阵的列数必须等于B矩阵的行数
标量可与任何矩阵相乘。 ② 数组乘(.)运算A.*B A,B维数相同,相应元素相乘。
Am×n*Bn×p
c*Bn×p
>>A=[1 2 3;4 5 6;7 8 9]; >>B=[2 4 6;1 3 5;7 9 10]; >>A.*B
y=logspace(d1,d2)
y=logspace(d1,d2,N)
从10的d1次幂到d2次幂之间按等比级数等分为N个点,N缺省时,默认为50。
14
2.1.5 矩阵的下标
创建了矩阵之后,若要调用矩阵里的元素,就要了解单个元素标志和 寻访的3种方式:
1.―全下标”标志
―全下标”标志由行下标和列下标组成, 例如:A(3,5)标志矩阵A的第3行第5列元素。
4.矩阵A=[2 4 5 9; -4 6 3 -7],找出A中大于3 的元素赋值给B
5.使用两种方法产生[0,3*pi]等间隔分布10个点的向量
20
2.2 常用管理命令
2.2.1 who和whos命令 who(whos) 查看工作空间里所有的变量 who(whos) a b 查看工作空间里的变量a和b 被查看的变量之间只能用空格,不能用逗号或分号。
2.逗号和分号
在赋值语句中,逗号(空格)用在同一行中各元素之间,分
号用在行与行之间。多条语句放在一行,用逗号分开表示要求显
示结果,由分号分开表示不要求显示结果。
4
3.续行标志(…)
当一条语句或矩阵太长,一行不能显示时,可用续行标志 … , 另起一行继续完成该条语句的书写。
4.中断键
在命令的执行过程中,可以随时按下CTRL+C键中断MATLAB的 运行。
A=[-4,-2,0,2,4;-3,-1,1,3,5]; %创建矩阵A L=abs(A)>3 islogical(L) X=A(L)
L=
%建立矩阵L %判断L中是否有逻辑1 %指出A中绝对值大于3的元素
X=
1
0
0
0
1
-4
16
2.1.6 复数表示
1.将其元素逐个赋予复数 如 z=[1+2i,3+4i;5+6i,7+8i] 2.将其实部和虚部矩阵分别赋值 如z=[1,3;5,7]+[2,4;6,8]*i (*号不能省略) 若在前面程序中曾经给i或j赋过值,则i或j就不再是虚数单位, 此时应把赋值的i或j清除再执行虚数赋值语句。
当p取非整数时,该指令的运算结果可以做如下的理解:
若A可以分解为A=WDW-1,D为对角阵,那么可定义 A-p=WD-pW-1
31
例
ans =
a=[1,2,3;4,5,6;7,8,9]; a^2
30 36 42
※当一个方阵有复数特征值或负实特 征值时,非整数幂是复数阵。
66 81 96
102 126 150
17
clear命令(删除变量)
删除内存变量。clear操作通常有两种方式:
clear 清除当前工作空间中的全部变量 clear a b c 清除当前工作空间中的变量a、b、c
被清除的变量之间只能用空格,不能用逗号或分号。 因为在一条指令中,逗号和分号都表示该指令结束,不同的是逗号结束
的指令要显示运算结果,而分号结束的指令不显示执行结果。
第二章 MATLAB 的数值 计算功能
1
2.1
变量及其赋值
2.1.1变量
变量由变量名表示,变量的命名应遵循如下规则: 1.变量名必须以字母开头;由字母、数字和下划线混合组成;不允 许使用空格、标点符号; 2.变量名的字符长度不应超过31个(对于6.x版本); 3. MATLAB严格区分大小写字母,因此,A和a是不同的变量。
a^0.5
ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i
其他方法
fopen, fread, textscan, fscan, fclose
10
数据存储
save
save filename 把全部内存变量保存为filename.mat文件。 save filename a b c 把a、b、c三个变量保存在文件名为 filename.mat的文件中。 save filename a b c –append 把a、b、c三个变量添加到文件 名为myfile.mat的文件中。
A=
2.―单下标”标志
按列计数,表示下标 A(3,:) A(:) %矩阵A的第三行 %把矩阵A转换成列向量,
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185 0.6068 0.7621 0.8214
15
3. 逻辑矩阵
例 找出数组A=
-4 -2 0 2 4 中所有绝对值大于3的元素 -3 -1 1 3 5
18
例
>>a=1;b=2;c=3; >>clear a,b;c c= 3 >>b b= 2 >>a ??? Undefined function or variable ‗a‘. ※用clear命令时,系统不会给出确认提示,一旦 删除将不能恢复。
19
练习
1.请指出如下5个变量名中,哪些是合法的? abcd-2 xyz- 3chan _3 a变量 ABCDefg 2.指令clear, clc各有什么用处? 3.创建一个6阶的魔方矩阵A 把第3行第4列的元素赋给B 把第2行、第4行的所有元素赋给C
(3)从外部文件装入;
(4)在M中文件建立。
6
1、直接输入矩阵:
创建矩阵的基本原则:
1.矩阵的所有元素必须放在方括号“[ ]‖内;
2.矩阵元素之间必须用逗号“,”或空格隔开;
3.矩阵行与行之间用分号“;”或回车符隔开;
4.矩阵元素可以是 数字 或 表达式。 a= 例如输入语句 a=[1 2 3;4 5 6;7 8 9] 显示的结果为:
Sin是变量名,而sin是正弦函数名
4.关键字(如 if,while 等)不能作为变量名。
2
永久变量
• eps — 容差变量,定义为1.0到最近浮点数的距离,在 pc机上= 2-52
• pi — 圆周率的近似值3.1415926
• inf或Inf — 表示正无穷大,定义为1/0
• NaN — 非数,它产生于0× ,0/0,/ 等运算
30
3. 乘方(^、.^)运算
① 矩阵乘方(^)运算 A^p
矩阵A必须是方阵,A和p不能同时为矩阵; 当p取整数时,该指令的运算结果可以做如下的理解:
当p>0时, A^p表示方阵A的直接自乘p次;
当p<0时, A^p表示方阵A的逆矩阵直接自乘p次; 当p=0时, A^p表示与方阵A同维的单位阵;
9
importdata
从文件中读入数据,能自动分析文件的格式。应用广泛 例如:目录C:\Program Files\MATLAB\R2006a\work\temp下有
生物医学信号的文本文件bio_signal.txt,在命令窗口输入:
importdata('C:\Program Files\MATLAB\R2006a\work\temp\bio_signal.txt');
• i,j — 虚数单位
• ans — 对于未赋值运算结果,自动赋给ans 如果用户给永久变量赋值,原始默认值丢失,直至清除变量 或重启Matlab
3
2.1.2、 MATLAB 的语句
1.百分号(注释符)%
与其它程序语言一样,为了方便其他人及日后自己对程序的阅读,
增加程序的可读性,需要在MATLAB文件中加入注释。注释行必须 以%号开始,执行文件时,%号后面的语句不予执行。
12
2.1.4 向量的生成
数组可以看成是行向量,即只有一行或一列的矩阵。前面介绍的所 有矩阵的建立和保存的方法,对向量同样适用 1.利用冒号“:”创建等差数列:
t=[初值:增量:终值]
其中 “增量”是可以省略的,省略时,默认的增量步长为1。增量也可 以是负值,但此时,初值应该大于终值。
例如:x=1:5; y=0:pi/4:2*pi; z=6:-1:0;
11
示例
clear; N=1000; x=rand(1,N); y=5; save rand_data x y; save rand_data_txt.txt clear
load(‗rand_data.mat‘); 间