Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186647
  • 博文数量: 50
  • 博客积分: 2567
  • 博客等级: 少校
  • 技术积分: 495
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 10:44
文章分类

全部博文(50)

文章存档

2011年(3)

2010年(29)

2009年(11)

2008年(7)

我的朋友

分类:

2010-02-12 18:39:09

近期matlab学习整理(矩阵操作、文件操作)

 

2010/1/30

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)操作

  11:10  生成1     2     3     4     5     6     7     8     9    10

这个行向量。

  20:pi/4:pi 生成0    0.7854    1.5708    2.3562    3.1416这个行向量,从0pi,pi/4递增的取值生成向量值。

  3A(1:k,j) 表示第j列的第1k行这个列向量。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:以行为单位进行数据分割;数据和文本仅读一次,后面再次遇到数字和文本忽略。

阅读(1595) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~