首页 > 代码库 > Matlab手记【ING】

Matlab手记【ING】

1、直方图绘制

matrix=Yours;

h=hist(matrix(:),256);
horz=min(matrix(:)):(max(matrix(:))-min(matrix(:)))/255:max(matrix(:));

bar(horz,h);

如图:

绘制拉普拉斯分布和高斯分布:

x=-10:0.05:10;

y=1/sqrt(2)/1*exp(-sqrt(2)/1*abs(x)); %拉普拉斯

y2=1/sqrt(2*pi)*exp(-x.*x/2); %高斯

plot(x,y);

plot(x,y2);

先获得了拉普拉斯分布图:

然后,我们获得了高斯分布图:



2、将向量重新排成图像(注意下面提到的left其实是从right中每列每列取数据的,可能就是跟其它语言的内存模式还不一样)

我们知道这样的代码会产生一个向量:(right为512*512矩阵)

left = right(:);

那么,将left进行运算之后怎样再变成二维的图像输出呢?

实验性地试了下:

tmptry=right; %给tmptry一个模板,让他知道自己至少长成什么样的轮廓

tmptry(:)=left;

imshow(tmptry,[]); %Congratulations!You are good man!

没想到居然成功了,MATLAB真的是太强大了,哈哈。

然而,这样的代码却无法成功(Opps!):

tmptry[];

 for xi=1:1:size(right,1)
        tmptry=[  tmptry;   left(xi:size(right,1):end)]  ;      
end


Matlab手记【ING】