当前位置:
文档之家› 第2讲 MATLAB基本语法
第2讲 MATLAB基本语法
>> s=a([1 2],[2 3]) 取出特定的行、列 s= 2 5
>> a([2,4,5],:)= [ ] 空矩阵的运用
a=
1 7 2 8 3 9 0 0
4.特殊矩阵与数组
单位矩阵
>> A=eye(3) A= 1 0 0 0 1 0 0 0 1 >> a =[1 2 3 0; 7 8 9 0]; 产生3×3×2的“1”矩阵 >> A=ones(3,3) A= 1 1 1 1 1 1 1 1 1
>> A=[3 1;2 4],B=[4 5],C=[3;4] A= 3 1 2 4 B= 4 5 C= 3 4 >> B/A ans = 0.6000
>> inv(A) ans =
0.4000 -0.1000 -0.2000 0.3000 >> B*inv(A) ans = 0.6000 1.1000 >> A\C ans = 0.8000 0.6000
7.冒号“:”运算符
格 式 j:k j:k j:i:k j:i:k 功 能 等同于[j,j+1,„,k] 当 j>k 时为空 等同于[j,j+i,j+2i,„,k] 当 i>0 且 j>k,或者 i<0 且 j<k 时为空
>> k=1:10 k= 1 2 3 4 5 6 7 8 9 10 >> x=1:0.2:2 x= 1.0000 1.2000 1.4000 1.6000 1.8000 >> x=3:-0.5:2 x= 3.0000 2.5000 2.0000
|(or)
~(not) xor
或:至少有一个为真,结果为真;
非:操作数为真,结果为假;操作数为假,结果 为真; 异或:操作相同时,为真。
2.2.3 逻辑运算符运用示例
>> A=1:9 A= 1 2
对A赋值 3 4 5 6 7 8 9 找出A>4的位置 0 1 1 1 1 1 对(A>4)结果取非
>> tf=A>4 tf = 0 0 0 >> tf=~(A>4) tf = 1 1 1
线性间隔划分
5.MATLAB内部变量和常数
变量名
ans i,j pi eps realmax realmin Inf,inf NaN,nan
说明
MATLAB系统默认的赋值变量 虚数单位 圆周率的近似值 浮点相对精度 最大的正浮点数 最小的正浮点数 无穷大(如1/0的结果) 非数值,不定值(如0/0, inf/inf等)
5. A^p与 A.^B
功能:矩阵幂与矩阵元素幂。
>> B=[1 2;3 4] B= 1 2 3 4 >> B^2 ans = 7 10 15 22 >> A=[1,2,3;4,5,6],B=[6 2 3;2 2 1] A= 1 2 3 4 5 6 B= 6 2 2 2 >> A.^B ans = 1 16 3 1
1
0
0
0
0
0
找出A>2且A<6的位置
>> tf=(A>2)&(A<6) tf = 0 0 1 1 1
0
0
0
0
2.2.5 数学表达式的MATLAB描述
数据格式:双精度格式(对应64位二进制数)
2.1.2 矩阵及其元素的赋值
赋值语句的一般形式: 变量=表达式(或数)
>> s=[1 2 3]
1.赋值要求:
输入一个行矢量
s= 1 2 3
矩阵元素列入方 括号中; 同一行中各元素 之间以“,”或空格 分开; 行与行之间以“;” 隔开。
3×3矩阵输入
2. A*B与A.*B
功能:矩阵相乘; 矩阵对应元素相乘
>> A=[1 2 3;4 5 6 ]; >> B=[1+1i,2+2i,3+3i;4+4i,5+5i,6+6i]; >> A.*B ans =
1.0000 + 1.0000i 4.0000 + 4.0000i 9.0000 + 9.0000i 16.0000 +16.0000i 25.0000 +25.0000i 36.0000 +36.0000i
6.复数的赋值方式
注意:
>> z=[1 3;5 7]+[2 4;6 8]i ??? z=[1,3;5,7]+[2,4;6,8]i Error: Missing operator, comma, or semicolon.
>> i=2; >> z=[1 3;5 7]+[2 4;6 8] *i z= 5 11 17 23
6.复数的赋值方式
复数赋值: >> c=3+2.5i c= 3.0000 + 2.5000i
复数矩阵赋值:
>> z=[1+2i,3+4i; 5+6i,7+8i]
>> 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
4 27 25 6
条件:A,B必须行、列数相同, 或其一为标量。
6. A'与A.'
功能:共轭转置与非共轭转置。
>> B=[1+1i,2+2i,3+3i ; 4+4i,5+5i,6+6i]; >> B' ans = 1.0000 - 1.0000i 4.0000 - 4.0000i 2.0000 - 2.0000i 5.0000 - 5.0000i 3.0000 - 3.0000i 6.0000 - 6.0000i >> B.' ans = 1.0000 + 1.0000i 4.0000 + 4.0000i 2.0000 + 2.0000i 5.0000 + 5.0000i 3.0000 + 3.0000i 6.0000 + 6.0000i
2.0000
2.2.2 关系运算符
关系操作符
<
小于
>
大于
<=
>=
==
等于
~=
不等于
功能说明
小于或等于 大于或等于
作用:比较两个同样大小的数组,或比较一个数组和一个标 量的大小。 结果:“1”——“真”——成立 “0”——“假”——不成立
>> A=1:9,B=10-A A= 1 2 3 4 B= 9 8 7 6 >> tf=A>4 tf = 0 0 0
2.2 运算符与数学表达
MATLAB中包含有:
算术运算符 关系运算符 逻辑运算符 优先顺序: 算术运算符、关系运算符、逻辑运算符
2.2.1 算数运算符
+
* / \ ^ ‘
加法
减法 乘法 除法 左除法 指数 复共轭转置
%
.* ./ .\ .^ .' :
注释符号
元素对元素乘法 元素对元素除法 元素对元素左除法 元素对元素指数 非共轭阵列转置 冒号操作符
第2讲
MATLAB的基本语法
2.1 变量及其赋值
2.2 运算符与数学表达2.1.Fra bibliotek 标识符与数据格式
标识符:标志变量名,常量名,函数名,文件 名的字符串总称。
ans、eps、pi、Inf、NaN等为常量名。 变量名的命名:字符可为英文字母、数字、下划线 等,但是首字符必须是英文字母。 标准函数名以及命令名用小写字母。
功能:矩阵和阵列的算术运算 格式:
A+B A-B A*B A/B A./B A\B A^P A.^B A'
A.*B A.\B A.'
1. A+B 与 A-B
功能:两矩阵对应元素相加减 条件:阶数必须相同
>> A=[1 2 3;4 5 6]; >> B=[1+1i,2+2i,3+3i;4+4i,5+5i,6+6i]; >> C=A+B C= 2.0000 + 1.0000i 4.0000 + 2.0000i 6.0000 + 3.0000i 8.0000 + 4.0000i 10.0000 + 5.0000i 12.0000 + 6.0000i >> D=A-2 D= -1 2 0 3 1 4
4.特殊矩阵与数组
>> x=rand(1,5) x= 0.4660 0.4186 (0,1)均匀分布随机矩阵 0.8462 0.5252 0.2026
>> y=randn(5,1) y= -0.1199 -0.0653 0.4853 -0.5955 -0.1497
正态分布随机矩阵
>> y=linspace(1,10,4) y= 1 4 7 10
>> whos a Name Size
Bytes
Class
a 2x5 80 double array Grand total is 10 elements using 80 bytes