• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【MATLAB学习笔记】初识MATLAB

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、什么是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

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi编译错误信息表发布时间:2022-07-18
下一篇:
Delphi字符串加密/解密发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap