引言
课程项目需要用到Matlab,本科期间做过一些Matlab的项目,但都有些淡忘了,这里又借着这个项目回顾了下Matlab的基础用法,这里老规矩,赶紧记录下来,走起!
一、Matlab基础知识
1.1操作对象
matlab中的运算和操作是以数组为对象的。
1.2函数
- 新建:新建函数文件,如图:
注:asv 就是auto save的意思,.asv文件的内容和相应的.m文件内容一样,用记事本和matlab都能打开它。它可以作为*.m文件的“备份”。 - 类型:
function funname(x1,x2);%无返回变量; function y=funname(x1,x2);%一个返回变量; function [y1,y2]=funname(x1,x2);%两个返回变量;
- 例子:
function draw(x, y) plot(x,y,'-xb'); %以线条颜色blue画出系列一中点 xlabel('SNR(dB)'); ylabel('BER'); title('误码率折线图'); %设置标题
- 调用:可以直接调用同一文件夹下的函数文件。
二、解决问题
2.1数组操作问题
- 排序:
%输入 x=[1,4,6,5,3]; y=[1,3,5,6,7];%x,y坐标点 [sorted_x,sorted_id]=sort(x); sorted_y=y(sorted_id);%坐标点排序 %输出 sorted_x=[1,3,4,5,6] sorted_id=[1,5,2,4,3] sorted_y=[1,7,3,6,5]
- 添加元素:
%输入 x=[1,4,6,5,3]; x=[x 8]; %输出 x=[1,4,6,5,3,8]
- 取值:
a=[1,2,3]; a(2)=2 b=[1,2,3;4,5,6]; b(2,1)=4
2.2怎么连点画折线图
- 样例:
x=[0,1,2,3,5,7]; y=[0,9,12,14,16,20]; %x,y坐标点 plot(x,y,'-xb'); %以线条颜色blue画出系列一中点 xlabel('SNR(dB)'); ylabel('BER'); title('误码率折线图'); %设置标题
- 线条样式:“–or”表示“虚线,圆圈,红色”样式。
2.3怎么遍历文件夹下所有图片
- 代码如下:
imgPath = 'E:/imageData/'; % 图像库路径 imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件 for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了 img = imread([imgPath imgDir(i).name]); %读取每张图片 end
结语
Matlab是很强大的数学工具,应用领域很广,在我看来,它和python一样,对我们的日常生活有很大帮助,掌握一些Matlab的基础知识,会对我们的日常学习工作有很大的帮助。