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

matlab随笔(三)

2016-09-29 14:36 330 查看
把矩阵变成行向量(矩阵元素的排列是从上到下,从左到右):

1、先转置,转成行向量

A =

1     2     3
4     5     6
7     8     9

>> A=A'

A =

1     4     7
2     5     8
3     6     9

>> a=A(:)'

a =

1     2     3     4     5     6     7     8     9


2、reshape函数

A =

1     2     3
4     5     6

>> [m,n]=size(A)
A=A'

A =

1     4
2     5
3     6

>> A=reshape(A,1,m*n)

A =

1     2     3     4     5     6


循环移位

A =

1     2     3     4     5     6

>> m=0,n=1;

% %m向下,n向右,负号表示反向
%所以下式表示右循环一位
A=circshift(A,[m,n])

A =

6     1     2     3     4     5


读一张图片循环移位后显示

>> img=imread('0001.jpg');
>> img2=img(50:400,100:600);
>> img2=img2';
>> img=imread('0001.jpg');
>> img2=img(50:400,100:600);
>> [m,n]=size(img2);
>> img2=reshape(img2,1,m*n);
%右移15位
>> img3=circshift(img2,[0,15]);
>> img4=reshape(img3,n,m);
>> img4=img4';
>> imshow(img4)
>> img4=img3';
>> img4=reshape(img4,m,n);
>> imshow(img4)
%右移30位
>> img4=circshift(img2,[0,30]);
>> img4=img4';
>> img4=reshape(img4,m,n);
>> imshow(img4)
>> img3=circshift(img2,[0,-15]);
>> img3=img3';
>> img3=reshape(img3,m,n);
>> imshow(img3)
%右移60位
>> img3=circshift(img2,[0,60]);
>> img3=img3';
>> img3=reshape(img3,m,n);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: