大多数朋友第一次接触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. Eclipse导包

    导包快捷键:"Ctrl+Shift+M",但是一般不用,一般利用整理包的快捷键. 整理包的快捷键:"Ctrl+Shift+O",与导包的区别在于,有用的留着,没 ...

  2. 从一堆 JAR 文件中,找出一个 Java class 文件的所在配置

    Find a class somewhere inside dozens of JAR files? find path/to/libs -name '*.jar' -exec grep -Hls C ...

  3. Linux下校验SHA1和MD5的方法

    当我们从互联网下载东西或者从U盘拷贝东西的时候,通常是不会和源文件有什么区别的,但是在偶然的情况下会出现下载或者拷贝出错的情况, 尤其是在下载大文件的时候,比如系统光盘......当你装机到一半才发现 ...

  4. 华为云 Kubernetes 管理员实训 四 课后作业

    练习一 创建一个Service和一个Pod作为其后端.通过kubectl describe获得该Service和对应Endpoints的信息. Service的名称为<hwcka-004-1-s ...

  5. 使用yum安装php*时报错的解决办法

    # yum -y install php* 注意: php53-odbc64-5.3.3-2.el5.x86_64 from base has depsolving problems  -->  ...

  6. 帮你克服web字体选择焦虑症

    1.背景 前端时间产品经理问我,移动端web默认字体有哪些,哪些字体不侵权?我当时感觉这方面的知识很匮乏,只能回答出微软雅黑和苹方简体,平常写代码时,没怎么留意过font-family设置的字体属性, ...

  7. scanf报错问题

    VS2013 scanf()函数报错问题. 编译器就是说这个环境下用scanf()函数不安全,建议使用scanf_s()函数.如何要使用scanf()函数的话,就需要在头文件或者源文件开头加上:use ...

  8. Xbatis:SpringBoot 数据管理框架

    目录 安装 下载源码 编译源码 添加依赖 数据表 数据源 Xbatis XbatisManager Database/Table/Column Column Table Database Create ...

  9. 【刷题-LeetCode】151 Reverse Words in a String

    Reverse Words in a String Given an input string, reverse the string word by word. Example 1: Input: ...

  10. 【Kafka】基于Windows环境的Kafka有关环境(scala+zookeeper+kafka+可视化工具)搭建、以及使用.NET环境开发的案例代码与演示

    前言:基于Windows系统下的Kafka环境搭建:以及使用.NET 6环境进行开发简单的生产者与消费者的演示. 一.环境部署 Kafka是使用Java语言和Scala语言开发的,所以需要有对应的Ja ...