matlab自学入门

来源:互联网 发布:淘宝客 群介绍 编辑:程序博客网 时间:2024/04/27 23:19

(MATLAB是我很早之前自学的一个工具,十分简单,当时是用老师的PPT自学了一下就清楚了,不过因为不常用,所以有很多函数,像num=zeros(m,n)%创建一个m*n的空矩阵这种函数有时候比较傻乎乎的用循环创建,不过这种东西,多编程序,多百度就可以了。这里只介绍一下MATLAB最简单的入门,让你上手就可以编程序)

Matlab是一个数值计算工具,计算矩阵,数值等很方便。



Matlab的基本操作,在命令窗口中输入

clc   按回车,就可以把命令窗口中的所有语句清空。

clear  按回车,把变量显示区间中的所有信息都清空。

Matlab的输入

在命令窗口输入1,然后按回车,就得到了


把1赋值给了一个默认值。在命令窗口输入i=1,按回车就得到了


把1赋值给了i,此时在变量显示区间就会有


Matlab输入一个矩阵,在命令窗口输入i=[1,2],按回车,就把一个一维矩阵赋值给了i。

 

输入一个二维矩阵,在命令窗口输入一个i=[1 2;3 4],同行元素之间用空格,用;进行分行。此时命令窗口


变量显示区间


,就可以看到i是一个二维矩阵了。此时若想实现两个二维矩阵相加。如i+i。只需要在命令窗口继续输入


即可。

 

如果想要写一段小程序,只需要在每一句话的后面加一个英文分号,再回车即可。如实现两个二维矩阵相加的小程序a+b。


按回车即可以得到


disp()是matlab的输出语句,如果想要输出一段话disp(‘这是一段小程序’);如果想要输出一个变量,不需要加单引号。

  

 

matlab的循环

for i=1:5

         a=i+a;

end

一个for 对应一个end。End是循环结束的标志,也就是c语言中括号的作用。1:5的意思是循环5次,每次步长为1。对应c语言程序就是

For(i=1;i<=5;i++)

{

a=i+a;

}

..

如果想要实现

For(i=1;i<=5;i=i+2)

{

a=i+a;

}也就是每次循环i+2,matlab的代码如下

for i=1:2:5

         a=i+a;

end

多写一个分号。中间2的意思是以2为一个步长循环。

 

Matlabif语句

If(i==1)

disp(i);

end

同样不需要大括号,用end结束if。

If else语句

If(i==1)

disp(i);

else

disp(‘wrong’);

end只需要一个end

上面是简单的计算,短代码,那如何实现写一段长程序。

点击file-new-script。新建一个脚本。脚本的后缀是.m,也叫作.m文件。


在里面编写小程序,每句话的后面加分号。如:


此时点击保存。把他重命名到test.m


保存后,在命令窗口输入.m文件的名字“test”再按回车即可执行test里面的代码,并得到输出。


用matlab进行绘图也十分方便,如想化一个一维的数组变化曲线,只需要plot(a)即可,如下图


执行结果弹出一个窗口


还有很多绘图的代码,如bar是画条形图之类的。需要画什么图上网百度即可。


Matlab可以方便的对图像等进行处理,因为一副图像是一个三维矩阵。当需要读取一副图像进行处理的时候,在命令窗口输入:

I=imread(‘2.jpg’);

这样I就是一个三维矩阵。I(width,height,RGB)。前两维是图像像素的行数和列数,最后一维是R,G,B分量。也就是三原色。

 注意:

1另外还有很多其他的应用,如读入音频也得到的是一个矩阵。只要是矩阵,matlab就可以很方便的处理。

2matlab在进行处理不同的图像时,要特别注意变量类型,如读取的一副图像时uint8型,数值区间是0-255。0是黑色,越往255增大灰度越大,图像越白。要想对图像的数值进行处理。要注意把uint8转化成double类型。类型转化很简单。如I是一个uint8的矩阵。

I=double(I);

就转化完成了。

3 matlab的函数库相当大,像exp(),log(),平方sqrt(),之类的运算函数自己去书上找记下来,还有很多函数用到的时候去网上查。

4 还有函数调用问题,如果你在网上找了一段代码,把这段代码复制到m文件里,


第一句话是function[]=imagestepjust1(photoname,m,n);

那么这么.m文件保存的时候要保存的和这个函数的名字相同imagestepjust1.m

在命令窗口调用时,只需要看准了数据的类型。

如这个函数调用时在命令窗口输入


按回车即可执行。。

  我给你列举的只是很简单的基本操作,你按照步骤一步步地自己写一遍应该就记住了。当你自己做项目的时候,像读取一段音频之类的代码,去网上百度一下就可以了。你也可以看看书,辅助记忆。不过书上写的有很多东西用不着,最好是自己一边做着项目一边百度。

 

另外如果要做图像处理

img=imread('1.jpg');  %读取一副图像并存在img变量里,此时img'是一个三维变量,前两维是m*n,后面一维是RGB分量

imshow(img); %显示一副图像。

还有灰度转化,提取分量,进行处理像素的代码。自行看书或者百度


4 0
原创粉丝点击