大多数朋友第一次接触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. antd递归渲染左侧菜单

  2. ubuntu 18.04 关掉sudo密码

    关掉sudo密码 $ sudo visudo 找到如下行 %sudo ALL=(ALL:ALL) ALL 修改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL 这样sudo用户组的 ...

  3. 从如何使用到如何实现一个Promise

    前言 这篇文章我们一起来学习如何使用Promise,以及如何实现一个自己的Promise,讲解非常清楚,全程一步一步往后实现,附带详细注释与原理讲解. 如果你觉的这篇文章有帮助到你,️关注+点赞️鼓励 ...

  4. IPOPT安装

    1.安装工具coinbrew 打开网页,找到以下网址 将网站中的内容全部复制到自己创建的coinbrew文件中,并且赋予权限 chmod u+x coinbrew 或者执行 git clone htt ...

  5. 我把自己的java库发布到了maven中央仓库,从此可以像Jackson、Spring的jar一样使用它了

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. 【记录一个问题】神坑,自定义一个golang的error类型,居然运行崩溃了

    2020-05-20 18:20补充: 感谢yif同学提供指导,出现错误并且打印大量信息的原因是函数递归调用导致栈溢出. 而导致递归调用的关键代码是%v 类型实现了error的interface %v ...

  7. golang gin框架中实现大文件的流式上传

    一般来说,通过c.Request.FormFile()获取文件的时候,所有内容都全部读到了内存.如果是个巨大的文件,则可能内存会爆掉:且,有的时候我们需要一边上传一边处理. 以下的代码实现了大文件流式 ...

  8. spark中job stage task关系

    1.1 例子,美国 1880 - 2014 年新生婴儿数据统计 目标:用美国 1880 - 2014 年新生婴儿的数据来做做简单的统计 数据源:https://catalog.data.gov 数据格 ...

  9. String类(获取,转换,判断,比较)

    1 package cn.itcast.p1.string.demo; 2 3 import java.util.Iterator; 4 5 import com.sun.org.apache.xpa ...

  10. python27day

    内容回顾 super 遵循mro算法 只在新式类中能适应 py2新式类中需要自己添加参数 封装 广义上的封装 狭义上的封装 (__名字) 方法名私有化 实例变量私有化 静态变量私有化 私有化的特点 只 ...