您的位置:首页 > 编程语言 > MATLAB

MATLAB 小知识 第二篇 矩阵运算2

2014-07-26 09:25 176 查看
1.矩阵下标转换

在MATLAB中有“双下标” 和 线性下标

转换方法 A为m*n的矩阵,A(p,q) 即 第p行,第q列 对应的线性下标为 u = (q-1)*m + p。

函数转换法:sub2ind:用双下标计算单下标(线性下标) ind2sub: 用单下标计算双下标

因此我们访问单个元素就可以用这两种方法了!

2.获取矩阵信息的函数

length 得到矩阵最长维长度

ndims 得到矩阵的维数

numel 得到矩阵的元素个数

size 得到矩阵指定维数的长度

3.高维数组

用函数直接创建标准高维数组 如 rand ones zeros randn函数等

ones(2,2,3)

ans(:,:,1) =

1 1

1 1

ans(:,:,2) =

1 1

1 1

ans(:,:,3) =

1 1

1 1

用下标注解索引生成高维数组

A(4,2,3) = 5

A(:,:,1) =

0 0

0 0

0 0

0 0

A(:,:,2) =

0 0

0 0

0 0

0 0

A(:,:,3) =

0 0

0 0

0 0

0 5

还可以用cat repmat reshape函数来建立高维数组

a = ones(2);

>> b = eye(2);

>> c = rand(2);

>> T = cat(3,a,b,c)

T(:,:,1) =

1 1

1 1

T(:,:,2) =

1 0

0 1

T(:,:,3) =

0.8147 0.1270

0.9058 0.9134

3.高维数组的操作函数

squeeze 删除高维数组的 “单一维”

flipdim 用于高维数组翻转操作 形式 flipdim(A,n) A为待翻转数组,n为翻转基准维。

shiftdim 用于移动数组维号 如 A 是一个4*3*2的数组,shiftdim(A,2)将把数组移维变为(2*4*3) 2标识左移2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: