Matlab主要函数使用方法_第1页
Matlab主要函数使用方法_第2页
Matlab主要函数使用方法_第3页
Matlab主要函数使用方法_第4页
Matlab主要函数使用方法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab主要函数使用方法ndims(A用ndims命令常看矩阵的维数1. matlab中mod的用法简单的说mod(a,b就是求的是a除以b的余数。比方说mod(100,3=1,mod(17,6=5Examplesmod(13,5ans =3mod(1:5,3ans =1 2 0 1 2mod(magic(3,3ans =2 1 00 2 11 0 22. 关于Matlab中size(的问题size按照下面的形式使用:m,n=size(a,x。一般的,函数的输入参量x不是用,这是当只有一个输出变量时,size返回一个行向量,第一个数为行数,第二个数为列数;如果有两个输出变量,第一个返回量为

2、行数,第二个返回数为列数。当使用x时,x=1返回行数,x=2返回列数,这时只有一个返回值。我要问的是:I=im2double(imread(file ;/把图像数组转换成double精度类型;if(size(I,3 > 1I = rgb2gray( I ;end中size(I,3 代表什么意思?按照上面的说法X=1,2都可以理解。I 代表的是图像数组阿,不是二维的么?那么size(I,3 中的3 代表什么?一个函数可以是多维的.比如说是一个10*10*10*10的距阵那就是说这个距阵是4维的.那个'('里的3就是指的第三维3.r = corr2(A,B计算两个矩阵的二维相

3、关系数.4.matlab中imshow显示问题各位好,将一幅灰度图像经过小波变换后,数据变成double型,对变换后的图像进行显示时,设变换后的图像为y,为何用imshow(uint8(y和imshow(y,时的图像显示结果不同呢?请问该如何正确显示变换后的图像呢?着急解决,请各位xdjm帮帮忙吧!回答:imshow(uint8(y是按照256级灰度显示y得绝对数据。0表示0,255表示255,大于255得都是255。imshow(y,将y得最小值看作0,最大值看作255。所以两者不同。小波变换得图像应该用第二种显示,把数据scale一下。5.matlab中用imshow显示图像由于数组类型产

4、生的错误今天在用MATLAB写程序的时候遇到个问题,以前一直没有注意到,刚才检查的时候才发现。我们先来看段不复杂的程序%定义常量size=256; block=8; I_w=zeros(size;%读入原始图像和水印图像并显示I=imread('lena.bmp' W=imread('watermark.bmp'subplot(1,3,1,imshow(I; title('原始图像'subplot(1,3,2,imshow(W; title('水印图像'%嵌入水印for p= 1:size/blockfor q= 1:size/b

5、lockx= (p-1*block+1; y=(q-1*block+1;block_dct= I(x:x+block-1, y:y+block-1;block_dct= dct2(block_dct;if 0=W(p,qa= -1;elsea= 1;endblock_dct = block_dct *(1+a*0.01;block_dct = idct2(block_dct;I_w(x:x+block-1, y:y+block-1=block_dct;endend%显示嵌入水印后的图像subplot(1,3,3,imshow(I_w; title('嵌入水印后的图像'这是一段很

6、简单的DCT嵌入水印的程序,我们不需要理解它。但是你如果直接运行它的时候,会发现最后得到的嵌入水印后的图像显示为一副白屏。这是为什么呢?我们来查看一下I_w数组,会发现它是一个256×256 double数组。在matlab里面,我们显示图像可以用imshow函数。它是通过将灰度值标度为灰度级调色板的索引来显示图像的。如果I_w是uint8数组的话,直接显示是没问题的。但是对于double数组,像素值是在0.0,1.0范围内的,0.0表示黑色,1.0表示白色。在显示的时候必须保证double的值在0.0,1.0才能正确显示。所以我们必须用imshow(I_w,0.0,1.0来显示它,

7、当然也可以用空矩阵来指定数据范围,imshow会自动将数据进行标记。也就是imshow(I_w,或者我们可以强制把double数组转换成uint8数组来显示也可以imshow(uint8(I_w6 Matlab中size(的问题size按照下面的形式使用:m,n=size(A。size返回一个行向量,第一个数为行数,第二个数为列数size(I,xx=1,2n一个函数可以是多维的.比如说是一个10*10*10*10的距阵那就是说这个距阵是4维的.那个'('里的x就是指的第三维频率直方图我没太用过但是其他形式的曲线比如控制领域的时域图用一下方法是可以实现的。首先:想办法读出样本点,

8、x=(,y=( (在7.0里用小括号就可以了,不同版本可以自行改一下之后可参见如下方法,我也是转载ilove.MATLAB论坛上的方法用过很好用转载:“在Matlab 6.5以上的环境下,在左下方有一个"Start"按钮,如同Windows的开始菜单,点开它,在目录"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。下面给你简单介绍一下它的使用方法。首先在Matlab的命令行输入两个向量,一

9、个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定叫x向量与y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。例如在命令行里输入下列数据:x=(0:0.02:0.98'y=sin(4*pi*x+rand(size(x;此时x-y之间的函数近似的为正弦关系,频率为2,但是存在一个误差项。可以通过作图看出它们的大体分布:plot(x,y,'*','markersize',2;打开曲线拟合共工具界面,点击最左边的"Data."按钮,出现一

10、个Data对话框,在Data Sets 页面里,在X Data选项中选取x向量,Y Data选项中选取y向量,如果两个向量的元素数相同,那么Create data set按钮就激活了,此时点击它,生成一个数据组,显示在下方Data Sets 列表框中。关闭Data对话框。此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。点击Fitting.按钮,出现Fitting对话框,Fitting对话框分为两部分,上面为Fit Editor,下面为Table of Fits,有时候窗口界面比较小,Fit Editor部分会被收起来,只要把Table of Fits上方的横条往下拉

11、就可以看见Fit Editor。在Fit Editor里面点击New Fit按钮,此时其下方的各个选框被激活,在Data Set选框中选中刚才建立的x-y数据组,然后在Type of fit选框中选取拟合或回归类型,各个类型的拟合或回归相应的分别是:Custom Equations 用户自定义函数Expotential e指数函数Fourier 傅立叶函数,含有三角函数Gaussian 正态分布函数,高斯函数Interpolant 插值函数,含有线性函数,移动平均等类型的拟合Polynomial 多项式函数Power 幂函数Rational 有理函数(不太清楚,没有怎么用过Smooth Spl

12、ine ?(光滑插值或者光滑拟合,不太清楚Sum of sin functions正弦函数类Weibull 威布尔函数(没用过不好意思,没有学过数理统计,所以很多东西都是用了才知道,翻译也就不太准确。不过在Type of fit选框下方有一个列表框,基本上各个函数类里的函数都写成解析式列在下方以供选择,所以找合适的函数还是比较容易的。在这个Type of fit选框中选择好合适的类型,并选好合适的函数形式。于是点击Apply按钮,就开始进行拟合或者回归了。此时在Curve Fitting Tool窗口上就会出现一个拟合的曲线。这就是所要的结果。在上面的例子中,选择sum of sin functions中的第一个函数形式,点击Apply按钮,就可以看见拟合得到的正弦曲线。在Fitting对话框中的Results文本框中显示有此次拟合的主要统计信息,主要有General model of sin1:. (函数形式Coefficients (with 95% conffidence range (95%致信区间内的拟合常数a1=. ( . . (等号后面是平均值,括

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论