大多数朋友第一次接触MATLAB一般都是在大学里面开设的MATLAB课程,第一次真正使用MATLAB是在自己的毕业论文中用到。所以对于MATLAB可以说是既爱又恨。爱,是因为使用MATLAB几乎可以实现目前大多数专业领域的几乎所有的算法、系统的仿真验证。恨,是因为对于初学的我们,几乎无从下手,不知道如何学习。参考各类数据,照着写一遍,写完之后,感觉还是不知道在写什么,我相信大多数同学会有这个感触。这里和大家分享下个人以及几个同事朋友的学习经历。

☆第一阶段、刚接触MATLAB。

大学二年级的时候,第一次接触了MATLAB这个课程,当时的感觉是,这个M语言太神奇了,因为原来大一的时候,只学过VB/C/C++这类语言,任意一个简单的功能,都需要大量的程序去实现。对于一些理论公式的仿真显得非常的麻烦。当接触到MATLAB的时候,感觉原来的问题都不是问题了。但是新的问题又来了,看了课本的MATLAB知识,完全不知道怎么去学习,因为几乎都是新的领域,而且每一个知识点,MATLAB都几乎自带的各类工具箱toolbox供用户调用。整个大二一年,几乎都是在抄写课本MATLAB案例中度过,而对于一个新的问题,就又不会了。这个过程确实非常痛苦,想学,没捷径,想不学,但是很多仿真分析又少不了他。记得大学老师提过,学习MATLAB,并不是学习M语言本身,而是要对自己研究的理论公式要有充分的认识。有了理论知识之后,再去学习对应的MATLAB,才会更容易理解MATLAB的编程方式。

这个阶段,会基本掌握MATLAB的各种数学表达式的编程方式,如积分,微分,方程组等等,以及基础的画图方式plot,semilogy,imshow等等。然后会使用MATLAB对简单的案例进行编程仿真,如通信专业的同学,使用matlab设计FIR滤波器,图像处理专业的,使用matlab设计简单的图像增强处理等,控制类专业会使用matlab编写PID控制器等等。

当然,这个阶段,也会有大量的同学放弃学习,因为随着MATLAB课程的结束,就很少回去使用MATLAB。

这个阶段,常用的参考资料,有学校的MATLAB书本,MATLAB宝典,并学会几种自己专业领域的函数工具箱。

☆第二阶段、会使用MATLAB做一些简单的数据分析。

一般在大学里,大四的时候,会在毕设过程中,第二次接触MATLAB,这个时候,一般会有导师带着学生研究理论,并提供一部分参考代码供学生学习和研究。这个过程其实是对matlab的一个巩固,有了第一阶段的学习基础之后,有能力逐步看明白老师提供的代码,并尝试自己调试系统参数,或者开发自己课题的程序。

这个阶段,同学们应该会自己上网搜索各种资料,查找各种源码,然后自己修改程序或者调试参数。

☆第三阶段、会使用MATLAB复现各类参考文献的仿真图。

这个阶段,大多数在读研阶段,为了完成导师的各种科研论文,需要参考大量的文献期刊,并对其中的算法进行仿真分析,由于大多数文献是不提供程序的,这就需要首先学习文献的理论,吃透每一个公式的含义以及各个参数设置的物理意义。然后结合MATLAB自带的各种工具箱进行编程实现算法。

记得当初自己学习过程中,第一篇独立完成的参考文献是一个关于通信中载波同步的文献,现在看来当然很简单,但是当时做的时候,感觉难度极大。基本上从中频信号的输入,解调,匹配滤波,鉴相器,环路滤波等多个环节都进行了详细的推导验算,反复修改MATLAB程序,大概折腾了2个多星期才勉强得到参考文献中的仿真结果图。相信大多数同学也有类似的经历。这里,我想说的是,这个过程很痛苦,但是千万别放弃,在你独立完成第一个参考文献的算法仿真之后,你会发现,做第二个,第三个,第N个文献,会越来越顺手。这是因为MATLAB的编程是一种完全基于理论公式的编程方式,掌握了理论知识以及基础的矩阵编程技巧以及工具箱之后,相同专业领域的算法编程都会觉得非常的简单。

那么到了硕士毕业阶段,也可以独立应付核心期刊发表,毕设论文中涉及到的各种仿真图的仿真实现了。

☆第四阶段、会使用MATLAB做各种实际系统项目的理论论证、算法预研等。

这个阶段,部分同学在读博阶段,也有部分同学在实际的工作阶段,会使用MATLAB辅助完成各种方案的论证,创新算法的仿真等工作。到了这个阶段,基本的编程技巧,工具箱,以及理论基本都以掌握,MATLAB更像是自己的第二语言一样,用来描述各种自己的理论设想,或者是项目方案的论证。

综上所述,学习MATLAB没有捷径,只能在不断的练习中不断的进步,逐渐掌握MATLAB。

☆☆如何学习MATLAB☆☆的更多相关文章

  1. 深度学习Matlab DeepLearningToolBox 工具包最常见错误解决办法\

    deeplearningtoolbox  下载链接github : https://github.com/rasmusbergpalm/DeepLearnToolbox,只需要解压到matlab当前工 ...

  2. MATLAB数字图像处理学习笔记

    我们都知道一幅图片就相当于一个二维数组,可以用一个矩阵来表示,而MATLAB可以说就是为矩阵运算而生的,所以学习图像处理,学习MATLAB势在必行! 一. MATLAB基础知识 1. 读取图像 %im ...

  3. 【转】取模(mod)与取余(rem)的区别——Matlab学习笔记

    昨天在学习Matlab的数学函数时,教程中提到取模(mod)与取余(rem)是不同的,今天在网上具体查了一下: 通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯一的区别在于:    当 ...

  4. MATLAB入门学习(七)

    开始,线性代数和微积分了,不怕.不怕. 背命令就行了... 线性代数 解线性方程组: Ax=b A是系数矩阵,x未知数,b是列向量 如果有唯一解,直接x=b\A 第二 B=null(A,'r')求Ax ...

  5. 数字图像处理学习笔记之一 DIP绪论与MATLAB基础

    写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...

  6. matlab GUI封装exe文件

    学习matlab过程中,有时有些程序处理数据时老是看着代码,也会觉得疲倦,那么要试一试matlab的GUI吗?我就是这么使用matlab的GUI制作一个小程序,并且使用matlab封装成了exe文件. ...

  7. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html   <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下)     ...

  8. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

  9. MATLAB for循环优化三例

    最近一周,对MATLAB有进行了新一轮的学习,对其矩阵化编程的思维有了更深入的了解.确实精妙! 例1: 将矩阵A= [1 2 3; 2 4 3; 3 4 5]中所有的数字3替换为33. 如果还停留在C ...

随机推荐

  1. Dubbo服务 上传文件解决方案以及Hessian协议

    ​ 协议支持 Dubbo支持多种协议,如下所示: Dubbo协议 Hessian协议 HTTP协议 RMI协议 WebService协议 Thrift协议 Memcached协议 Redis协议 在通 ...

  2. 微服务架构攀登之路(五)之Go-micro入门

    一.go-micro入门 1. go-micro 简介 Go Micro 是一个插件化的基础框架,基于此可以构建微服务,Micro 的设计哲学是可插拔的插件化架构 在架构之外,它默认实现了 consu ...

  3. 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码

    我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...

  4. kafka学习笔记(四)kafka的日志模块

    概述 日志段及其相关代码是 Kafka 服务器源码中最为重要的组件代码之一.你可能会非常关心,在 Kafka 中,消息是如何被保存和组织在一起的.毕竟,不管是学习任何消息引擎,弄明白消息建模方式都是首 ...

  5. 【Java】eclipse中的JUnit单元测试

    eclipse中的JUnit单元测试 步骤: 选中当前工程 - 右键选择:build path - add libraries - JUnit 4 - 下一步 创建Java类,进行单元测试. 此时的J ...

  6. Vulnhub - THE PLANETS: EARTH

    环境配置 从www.vulnhub.com下载靶机,在VMware中导入,自动分配IP 主机发现 通过对内网主机的扫描,VMware为目标主机 端口扫描 使用nmap对主机进行扫描 发现443端口信息 ...

  7. [MRCTF2020]Ezaudit

    [MRCTF2020]Ezaudit 知识点 1.源码泄露 2.伪随机数 3.sql注入? 题解 打开题目是个漂亮的前端,扫一下发现www.zip文件泄露,下载审计 <?php header(' ...

  8. C# TCP传输文件示例代码

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. 用Win +R运行快速启动各种程序

    许多人认为Windows的Win+R运行就是摆设,除了开cmd和shutdown外毫无用处.其实Win+R是可以用于各种快捷启动的. Win+R可以视作执行一条cmd命令,要用他运行程序,理论上必须输 ...

  10. HTTP-常用请求头

    HTTP-常用请求头 Accept:表示客户端可以接收的数据类型 Accpet-Language:表示客户端可以接收的语言类型 User-Agent:表示客户端浏览器的信息 Host:表示请求时的服务 ...