一、数据处理及其运算
1、矩阵的建立
1.直接建立矩阵
A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
2.用已经建立好的矩阵建立更大的矩阵
>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> B=[5,5,5;6,6,6;7,7,7]
B =
5 5 5
6 6 6
7 7 7
>> C=[A,B;B,A]
C =
1 2 3 5 5 5
4 5 6 6 6 6
7 8 9 7 7 7
5 5 5 1 2 3
6 6 6 4 5 6
7 7 7 7 8 9
3.冒号表达式
e1:e2:e3
e1为初始值,e2为步长,e3为终止值(e2不写则默认步长为1)
>> t=0:1:5
t =
0 1 2 3 4 5
4.linspace(a,b,n)函数,产生行向量
a是第一个元素,b是最后一个元素,n是元素总数(n不写默认为100)
>> linspace(0,pi,5)
ans =
0 0.7854 1.5708 2.3562 3.1416
这与a:(b-a)/(n-1):b等价
2、矩阵元素的引用
1.取出矩阵中某行某列的元素
A(3,2)=100 %将A[3,2]赋值为100
2.取出矩阵中第几个元素
A(n) %排序方式为按列排序,按列从上往下,从左往右
>> A=[1,2,3;4,5,6]
A =
1 2 3
4 5 6
>> A(5)
ans =3
>> A(4)
ans =5
3.矩阵中元素序号的计算
以m*n矩阵A为例:矩阵元素A(i,j)的序号为(j-1)*m+i
4.利用冒号表达式获得子矩阵
>> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
>> A(1,:)%取A的第一行
ans =
1 2 3 4 5
>> A(:,2:4)%取A得2,3,4列
ans =
2 3 4
7 8 9
12 13 14
>> A(2:3,4:5)%取A得2,3行和4,5列
ans =
9 10
14 15
>> A(2:3,1:2:5)%取A得2,3行和1,3,5列
ans =
6 8 10
11 13 15
此外,还可以用end来表示末尾元素下标
>> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
>> A(end,:)%取A最后一行
ans =
11 12 13 14 15
>> A([1,3],2:end)%取出A中1,3行中第2列到最后一列的元素
ans =
2 3 4 5
12 13 14 15
4.利用空矩阵删除矩阵元素
空矩阵及没有任何元素的矩阵,中括号中为空,如X=[]
例:
>> A(:,[2,4])=[]%删除A的第2列和第4列
A =
1 3 5
6 8 10
11 13 15
5.改变矩阵形状
reshape(A,m,n),将矩阵A重新排序为m*n的二维矩阵
>> x=[1,2,3,4,5,6,7,8,9,10,11,12]
x =
1 2 3 4 5 6 7 8 9 10 11 12
>> y=reshape(x,3,4)%将x排序为3行4列
y =
1 4 7 10
2 5 8 11
3 6 9 12
注意:reshape(A,m,n)只改变了矩阵的逻辑结构,但不改变原来矩阵中元素的顺序
A(:),将A的每一列元素堆叠起来,成为一个列向量,
>> A=[1,2,3;2,3,4]
A =
1 2 3
2 3 4
>> B=A(:)
B =
1
2
2
3
3
4
这里A(:)产生一个6*1的矩阵,等价于reshape(A,6,1)
3、变量及操作
1.变量与赋值语句
以字母开头,最长63个字符
matlab的标准函数名都用小写
2.常用的预定义变量
预定义变量 含义
ans 计算结果的默认赋值变量
eps 机器的零预值
pi 圆周率π
i,j 虚数单位
inf,Inf 无穷大,如1/0
NaN,nan 非数,如0/0,inf/inf
3.获取以定义变量
看右边区域,或用who和whos
>> who
您的变量为:
A B C ans ri t x y
>> whos
Name Size Bytes Class Attributes
A 2x3 48 double
B 6x1 48 double
C 6x6 288 double
ans 6x1 48 double
ri 3x3 144 double complex
t 1x101 808 double
x 1x12 96 double
y 3x4 96 double
4.永久保存变量
save 文件名 [变量名表] [-append] [-ascii]
load 文件名 [变量名表] [ascii]
文件存储在.mat文件中
例:
>> save mydata x y%将变量x,y存储到mydata.mat中,但是在默认路径中
>> load mydata%载入mydata.mat中的变量
若不是默认路径
则:
>> save D:\666\mydata x y
>> load D:\666\mydata

4、MATLAB常用内部函数
函数名 功能
sin/sind 正弦函数,输入值为弧度/角度
cos/cosd 余弦函数,输入值为弧度/角度
tan/tand 正切函数,输入值为弧度/角度
asin、asind、acos、acosd、atan、atand反正切、反余弦、反正切
sqrt 平方根函数(开根号)
log 自然对数函数
log10 常用对数函数
log2 以2为底的对数函数
exp 自然指数函数
pow2 2的幂(2的多少次方)
>> x=10;
>> pow2(x)
ans =1024
abs 绝对值函数(绝对值,复数的模,字符串的ASCII)
例:
>> abs(-4) ans =4
>> abs(3+4i) ans =5
>> abs('a') ans =97
rem 求余数rem(x,y)
mod 求模mod(x,y)
fix 向零方向取整
floor 不大于自变量的最大整数
ceil 不小于自变量的最小整数
round 四舍五入到最邻近的整数
sign 符号函数(返回-1,0,1)
gcd 最大公约数
lcm 最小公倍数
factorial 阶乘
isprime 判断是否为素数(返回1,0)
primes 生成素数列表
perms 生成所有排列
randperm 生成任意排列
2010

被折叠的 条评论
为什么被折叠?



