首页 > 其他 > 详细

【MATLAB学习笔记】初识MATLAB

时间:2020-03-02 09:24:34      阅读:81      评论:0      收藏:0      [点我收藏+]

一、什么是MATLAB?

  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂。它是Mathworks公司出品的商业数学软件,主要用于算法开发、数据可视化、数据分析以及数值计算。使用MATLAB作为计算工具,人们不需关注各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程,从而可以专注于实际问题的分析和设计,大大提高工作效率和质量,为科学研究与工程应用提供重要手段。

二、MATLAB可以做什么?

  1.数学运算

  MATLAB中的数学公式输入方式与C/C++中相似,十分容易上手。

  下面以计算技术分享图片为例:

>> y = (2*sin(0.3*pi))/(1+sqrt(5))

y =

    0.5000

  2.数据分析

  MATLAB提供了大量实用绘图函数,可以方便地将数据绘制为直观的图像。绘制数据以便确定模式和趋势,更全面地描述数据趋势,以便预测新数据值。

技术分享图片

图片来自MATLAB官方手册

  3.数字图像处理

  MATLAB的绘图模块中还包含许多实用的数字图像处理函数,与其强大的数据分析能力结合,可以高效地对数字图像进行处理。特别地,MATLAB在遥感影像处理方面具有非常亮眼的表现。技术分享图片

原始遥感影像

技术分享图片

处理结果   原文链接:https://blog.csdn.net/themingyi/article/details/84842473

技术分享图片 

 原始古琴谱图像

 技术分享图片

降噪后图像

   4.MATLAB APP

  MATLAB图形用户界面(GUI)是一种包含多种对象的图形窗口 ,通过GUIDE集成开发环境可以 将菜单、对话框及各种控件都集成实现。GUI不仅使用户操作统一,而且方便编程实现。

技术分享图片

   MathWorks官网-基于数值输入计算和绘制数据的APP

  5.深度学习

  MATLAB工具箱提供了深度学习网络的创建方法,在计算机视觉、图像处理、自动驾驶、信号处理、音频处理等领域有广泛的应用。

技术分享图片

MathWorks官网-使用深度学习进行语义分割

三、MATLAB 2019a基本介绍

技术分享图片

MATLAB 2019a 界面默认布局

  1.桌面基础知识

  当前文件夹(Current Folder):可以访问当前路径下的文件 

  命令行窗口(Command Window):在命令行中输入命令

  工作区(Workspace):显示已创建或者从其他文件导入的数据

  脚本(Script):包含一系列命令和函数调用,不接受输入参数或返回输出参数。它们处理工作区中的数据。脚本是一个包含多行连续 MATLAB 命令和函数调用的扩展名为 .m 的文件。在命令行中键入脚本名称即可运行该脚本。

  函数(Function):可接受输入参数,并返回输出参数。函数的第一行以关键字 function 开头。它提供函数名称和参数顺序。在函数内创建的任何变量都存储在特定于该函数的工作区内,该工作区独立于基础工作区。程序文件可以包含多个函数,第一个函数是主函数,后面的函数称为局部函数。

  2.矩阵和数组

  MATLAB 是“matrix laboratory”的缩写形式。MATLAB® 主要用于处理整个的矩阵和数组,而其他编程语言大多逐个处理数值。

  所有 MATLAB 变量都是多维数组,与数据类型无关。矩阵是指通常用来进行线性代数运算的二维数组。

  创建数组,使用逗号 (,) 或空格分隔各元素。

a = [1 2 3 4]

  创建包含多行的矩阵,使用分号分隔各行。

a = [1 2 3; 4 5 6; 7 8 10]

  要执行元素级乘法(而非矩阵乘法),使用 .* 运算符:

p = a.*a

  乘法、除法和幂的矩阵运算符分别具有执行元素级运算的对应数组运算符。

  3.二维和三维图

  创建二维线图,使用 plot 函数可以十分方便地做到。我们可以发现代码语义明确,绘制效果规范美观。

x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)%MATLAB中分号";"是选用的
legend(‘sin(x)‘,‘sin(x-.25)‘,‘sin(x-.5)‘)%标识各条线
xlabel(‘x‘)%x轴标签
ylabel(‘sin(x)‘)%y轴标签
title(‘Sine函数图像‘)%标题

  用surf函数可以创建三维图,同样代码语义明确,绘制效果规范美观。

[X,Y] = meshgrid(-2:.2:2);                                
Z = X .* exp(-X.^2 - Y.^2);
surf(X,Y,Z)

技术分享图片

 二维图绘制结果

  技术分享图片

三维图绘制结果

   4.数字图像处理

  MATLAB拥有读写图像文件、图像的显示、 图像的变换、模拟噪声生成函数和预定义滤波器、图像的增强等功能的函数,可以对数字图像进行高效的处理,与深度学习结合可以进行图像识别。

  下面是一个简单的图像显示的例子:

image = imread(‘geyou.jpg‘);%读取文件
[m,n,p] = size(image);

im1 = zeros(m,n,p);
im1(:,:,1) = image(:,:,1);%红色
im1 = uint8(im1);

im2 = zeros(m,n,p);
im2(:,:,2) = image(:,:,2);%绿色
im2 = uint8(im2);

im3 = zeros(m,n,p);
im3(:,:,3) = image(:,:,3);%蓝色
im3 = uint8(im3);

output = [im1,im2(:,end:-1:1,:),im3];%拼接
imshow(output)

技术分享图片

原始图片

技术分享图片

 拼接显示的图片

四、简单的SEIR模型

  B站上有个up主用MATLAB构建了新冠肺炎的预测模型。好!用刚刚学到的知识跟着做一下吧!

  https://www.bilibili.com/video/av85508117

技术分享图片

 

【MATLAB学习笔记】初识MATLAB

原文:https://www.cnblogs.com/NiceOrange/p/12383310.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!