分类:
2010-02-12 18:39:09
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
1. sum(A)
计算矩阵A的列向量的和。
2. sum(A’)’
计算矩阵A的行向量的和。其中A’表示矩阵A的转置。
3. diag(A)
取矩阵A的对角线元素生成一个列向量。
4. fliplr(A)
将矩阵左右翻转。Eg: sum(diag(fliplr(A)))表示求矩阵A的右上角到左下角的元素和。
5. A(1,4)+A(2,4)+A(3,4)+A(4,4)
求矩阵第四列的和。其中A(i,j)表示矩阵的第i行第j列。A(8)表示A(4,2),即将矩阵按列展开成一个向量,取第8个。
6. X = A;
X(4,5) = 17
将A扩展一列并附上值,将结果赋给变量X(矩阵)。而如果直接A(4,5)则会报错:index out of bounds because size(A)=[4,4].
7. 冒号(colon)操作
(1)1:10 生成1 2 3 4 5 6 7 8 9 10
这个行向量。
(2)0:pi/4:pi 生成0 0.7854 1.5708 2.3562 3.1416这个行向量,从0到pi,以pi/4递增的取值生成向量值。
(3)A(1:k,j) 表示第j列的第1到k行这个列向量。Eg: sum(A(1:4,4))表示A矩阵的第4列的前4行元素。
(4):本身表示整个一行或一列,关键字end表示最后一行或最后一列。如sum(A(:,end))表示A的最后一列的所有元素组成的向量,并对其求和。
8. B = magic(4)
生成一个magic矩阵赋值给B,该矩阵的所有行,所有列,对角线,反对角线的和均为同一个值。A = B(:,[1 3 2 4])将该矩阵的第二三列互换后赋值给A。
2010/2/12
1.关于文件的操作()
(1)读取一个文件内容
在sample.txt文件中写入一个矩阵,当前目录切换到该文件的目录,M = load(‘sample.txt’)。sample.txt文件中的矩阵赋值给了M。
(2)保存matlab内存中的数据到文件中
.mat格式:save sample_1 M (将矩阵M中的数据保存到sample_1.mat中)
.txt格式:save sample_2.txt M –ascii (将矩阵M中的数据以ascii格式保存到文本文件sample_2.txt中)
(3)通过用户界面的形式加载一个.m数据文件
[fname,pname]=uigetfile(‘*.m’,’sample Dialog box’)
例子:下面这段程序要求用户选择一个目录下的.txt数据文件,当选择确定后该文件的数据存储在M矩阵中病显示出来。
[fname,pname] = uigetfile('*.txt','select your .txt data file');var filename; filename=strcat(pname,fname);M = load(filename)
(4)处理数字和文本混合的文件
D = importdata(sample_file2.txt)
读取数字:data = D.data
读取文本:text = D.textdata
Note:以行为单位进行数据分割;数据和文本仅读一次,后面再次遇到数字和文本忽略。