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为一个步长循环。
Matlab的if语句
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); %显示一副图像。
还有灰度转化,提取分量,进行处理像素的代码。自行看书或者百度
- matlab自学入门
- 自学matlab的感悟
- matlab自学杂记
- MATLAB自学日记
- 自学MATLAB很好的资料
- 自学MATLAB很好的资料
- MATLAB科学计算自学笔记
- MATLAB基础视频自学笔记
- 数字图像MATLAB版自学导向
- 自学Matlab教程资源推荐
- 自学中医入门必读
- JavaWeb SSI入门自学
- Github入门自学
- JQuery入门自学
- Python自学入门
- Python自学入门 下
- MySQL自学-入门篇
- JAVA入门自学笔记
- 圆与圆的位置关系教案制作
- 简单自定义Toast
- 什么是公钥与私钥,以及两者的作用。
- Softmax回归
- iOS 原生实时语音识别
- matlab自学入门
- Redis的发布订阅及.NET客户端实现
- oracle递归笔记
- push时,隐藏TabBar
- 免费的论文查重网站
- Java 文件流与标准流之间的重定向
- @RequestMapping和Handler返回值总结
- High performance models in TensorFlow
- HTML 5 音频