大多数朋友第一次接触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. spring boot + thymeleaf +security自定义规则 的简单使用

    1.前言 以前开发一直使用 springMVC模式开发 ,前端页面常使用 JSP  ,现在html5淘汰了 ,要么使用html ,要么使用vue , 现在使用spring boot ,有必要总结一下 ...

  2. spring cloud --- Feign --- 心得

    spring boot      1.5.9.RELEASE spring cloud    Dalston.SR1 1.前言 什么是Feign? 为了简化我们的开发,Spring Cloud Fei ...

  3. 小程序canvas绘制纯色圆角区域 setdata数组某一项

    小程序canvas绘制纯色圆角区域: //方法: roundRectPath:function(ctx, x, y, w, h, r) { ctx.beginPath(); ctx.moveTo(x ...

  4. HDOJ3579Hello Kiki

    https://acm.hdu.edu.cn/showproblem.php?pid=3579 一些坑点.首先是如果说最后求得到的结果为0,那么在数学意义上这是正确的,0对于任何的确是最小的整数解,但 ...

  5. eclipse导入项目jdk版本不一样

    一:eclipse导入项目jdk版本不一样解决方案 参考博文: https://www.cnblogs.com/chenmingjun/p/8472885.html 选中项目右键 --> Pro ...

  6. 【刷题-LeetCode】215. Kth Largest Element in an Array

    Kth Largest Element in an Array Find the kth largest element in an unsorted array. Note that it is t ...

  7. QT之鼠标事件

    Widget.h: #ifndef WIDGET_H #define WIDGET_H #include<QWidget> #include<QMouseEvent> clas ...

  8. Typora破解

    Typora破解 需要python环境,没有的话需要先安装一下 访问 https://github.com/Mas0nShi/typoraCracker.git下载下来破解需要的压缩包并且解压缩 或者 ...

  9. Kubernetes集群PV和PVC详解

    Kubernetes集群高级存储资源PV及PVC 文章目录 Kubernetes集群高级存储资源PV及PVC 1.高级存储PV和PVC概念部分 2.PV和PVC资源的生命周期 3.PV资源介绍与案例配 ...

  10. HTML 基础1

    HTML 超文本标记语言 文件后缀html,htm 标签成对出现:开始标签--结束标签 元素内容位于开始标签--结束标签之间(可以有空内容) 空元素<a/> 大小写不敏感 元素,属性 &l ...