第三章 Matlab语言 程序设计基础
Matlab语言
No.1
学什么?
第三章 Matlab语言程序设计基础
§ 1 Matlab的基本数据类型 § 2 Matlab的基本运算与输入输出 § 3 Matlab的程序流程语句
§ 4 Matlab函数的编写规范与技巧Hands-On
Matlab语言
No.2
第三章 Matlab语言程序设计基础
§1
Matlab基本数据类型8字节64位 -1.7 10308~ 1.7 10308
8字节64位 虚部double() 8字节
Unsigned integer Signed integer
uint8()
1字节
int8()int16()
1字节2字节
uint16() 2字节
uint32() 4字节charMatlab语言
int32()struct
4字节
cell
No.3
第三章 Matlab语言程序设计基础
§1
Matlab基本数据类型 1. 变量、常量与赋值语句结构 2. 矩阵的表示 3. 多维数组的定义 4. 字符串变量及其处理 5. 稀疏矩阵
Matlab语言
No.4
第三章 Matlab语言程序设计基础
1. 变量、常量与赋值语句结构
ATsys1212Atsys 直接赋值语句 a=2+b
AT_Sys12_AtSys12
AtsyS12_A a MyDocu
赋值变量=赋值表达式 2+b ans=2+b
a=b^2; 函数调用语句buit-inMatlab语言
b^2; ans=b^2;[返回变量表]=函数名(输入变量表)
[row, col]=size(A)func-file subfuncNo.5
第三章 Matlab语言程序设计基础
特定常数
eps 2.22 10-16x=(-6:0.1:6)*pi; y=sin(x)./x; plot(x,y) edit teach04
1 for i=1:10i j x=i^2end i=sqrt(-1)
Matlab语言
No.6
第三章 Matlab语言程序设计基础
2. 矩阵的表示 Matlab 的基本单元:复数矩阵 A=[1 2 3; 4 5 6; 7 8 9] B=[1,3,5; 7,9,2; 4,6,8]
v1=[1 2 3 4]v2=[1;2;3;4] A=[A;[1 3 5]]Matlab语言
?No.7
第三章 Matlab语言程序设计基础
A=[A;[1 2]] A(2,3)
A([1 3 4],[1 3])A(2,6)=1.5
A(2,4:5)=Inf; A(3,4:6)=NaNInf ansMatlab语言
pi lasterr
NaN Not a Number lastwarnNo.8
第三章 Matlab语言程序设计基础
a=s1:s2:s3
a=0:0.1:1.16 a(:,[1 3])
?
a(:)
?No.9
Matlab语言
第三章 Matlab语言程序设计基础
reshape(ans,4,2) ans(3:end,3)
B=[1 2 3; 4 5 6; 7 8 0];B=B+[9 8 7; 6 5 4; 3 2 1]*1i
Matlab语言
No.10
第三章 Matlab语言程序设计基础
3. 多维数组的定义 自定义 edit teach05 cat(n,A1,A2,…) A2 A1 size(A) p39
Am
length(A)
concatenateMatlab语言 No .11
第三章 Matlab语言程序设计基础
4. 字符串变量及其处理 edit teach06 字符串查找 字符串比较 findstr(s1,s2) k = strcmp(s1,s2) 位置下标/[] 串1 串2 串1 串2 1/0
Matlab语言
No.12
第三章 Matlab语言程序设计基础
字符串替换 下 标 strF( ) s = strrep(s1, 件 s3) strF(find( 条 s2,)) 新串 原串 弃串 补串 strF(find(strF~=’ ’)) 与双精度互换 取字符串长度 d = double(s) k length(s) s = char(d)串 长度 数字变字符串 删去空格 s = mat2str(A) ’)) = s(find(s~=’ s = int2str(n) deblank(s) s = num2str(x) 字符串变数字 A = eval(s) 如果s全是数字、小数点、 指数等组成No.13
Matlab语言
第三章 Matlab语言程序设计基础
5. 稀疏矩阵 转换
比较 S sparse(A); I = eye(100); A full(S); S = speye(100);
Matlab语言
No.14
第三章 Matlab语言程序设计基础
§ 2 Matlab的基本运算与输入输出 1. 变量类型的测试 2. 矩阵的代数运算
3. 矩阵的逻辑运算4. 矩阵的比较关系
5. 矩阵元素的数据变换6. 输入与输出语句Matlab语言 No.15
第三章 Matlab语言程序设计基础
1. 变量类型的测试k = isa(A,’待测类型’) k = isnan(A) k = isfinite(A) k = isinf(A) k = isempty(A) any(A) all(A) double|char|...
Matlab语言
No.16
第三章 Matlab语言程序设计基础
2. 矩阵的代数运算
矩阵转置 C 矩阵加减法 = transpose(A); XAA 1 A 1B 1 X BA C 矩阵乘法 = plus(A,B); C = ctranspose(A); X BA 1 矩阵左除(高斯消去法) C C C = mtimes(A,B); = = A + B; A’; A * B; C C C 矩阵右除 = = = mldivide(A,B); minus(A,B); C = transpose(conj(A)); A mrdivide(A,B); \ C C Ctimes(A,B); = = 矩阵乘方 C = A - =B; B; 矩阵翻转 A / B; C C Cldivide(A,B); = = = mpower(A,x); C = A .* =B; ^ x; C CACrdivide(A,B); = =.A fliplr(A); C = C = flipud(A); \ B; C = power(A,x); C = A ./ B; C = rot90(A); C = A .^ x; C = transpose(A); Matlab语言 No.17
AX B A 1 AXXAA 1B B
第三章 Matlab语言程序设计基础
A*B
a11 a 21 a31 a41
a12 a22 a32 a42
a13 c11 b11 b12 c a23 b21 b22 21 c a33 31 b31 b32 c a43 41
c12 c22 c32 c42
a11 a12 a21 a22 A.*B a31 a32 a41 a42
a13 b11 a23 b21 a33 b31 a43 b41
b12 b22 b32 b42
b13 c11 b23 c21 b33 c31 b43 c41
c12 c22 c32 c42
c13 c23 c33 c43
Matlab语言
No.18
第三章 Matlab语言程序设计基础
3. 矩阵的逻辑运算矩阵的与运算 C 矩阵的或运算 = and(A, B); C C 矩阵的非运算 = = or(A,B); A & B; C C 矩阵的异或运算 = = not(A); A | B; C C = xor(A,B); = ~ A; A,B大小相同 | 其中之一为标量
Matlab语言
No.19
第三章 Matlab语言程序设计基础
4. 矩阵的比较关系 矩阵的比较运算 A > B A >= B A == B 对应元素的比较 A < B A <= > b A ~= B ai j B i j 特殊比较函数 维数相同 find(C==1)find(isnan(C))
Matlab语言
No.20
第三章 Matlab语言程序设计基础
help .
Matlab语言
No.21