$ 一步一步学Matlab(1)——初识Matlab
本文分四步走策略:第一,Matlab是个什么玩意;第二,为什么要学Matlab;第三,怎样轻松、无痛、少走弯路地学习Matlab;第四,怎样写一个Matlab的Hello World。通过这四步走,达到初步搞清楚Matlab是啥的地步。
Matlab是个什么玩意
本人也是多年前在学习信号系统这门课的时候使用过Matlab,记得当时是用它来做一些求微分方程、傅里叶变换、拉普拉斯变化等等之类的事情,只是觉得它非常厉害,是一个万能的计算器,能算各种手工算起来超复杂的数学运算,包括但不限于下列功能:
- 基本初等数学运算(四则运算、幂指对数、三角函数、多项式计算等):简直是一个增强版的、犹如瑞士军刀一样的超级计算器。
- 矩阵运算:这就不用说了,线性代数里面那些让你痛苦不堪的行列式、矩阵、求解线性方程组等的计算,Matlab都是分分钟几行代码搞定的事。
- 概率统计分析:各种概率分布、概率密度、统计特性的计算,也是Matlab十分擅长做的。
- 符号计算:包括求微分方程、傅里叶变换、拉普拉斯变换等等。
- 绘制各种二维、三维图像。
- 支持程序化编程,支持GUI(图形用户界面)编程。
- 信号仿真:学习信号与线性系统的好帮手(就像本人当年那样)。
...
一言以蔽之,Matlab是一个:只有你想不到、没有它做不到的功能的解决各种科学计算问题的瑞士军刀。
为什么要学Matlab
问得好,学一个东西前,必须要解决"为什么要学"的问题,这是能够学好一个东西的基石。为什么是学习这个东西而不是学习别的东西?学了它之后我可以用来做什么?下面列举五个无法拒绝学习Matlab的理由:
- 功能强大,在科学计算领域,只有你想不到,没有它做不到的功能,可以解决你在这些领域遇到的99.999%的计算难题。
- 代替手工计算,效率翻番何止十倍。以往手工算一个数学题可能需要密密麻麻写满几大张草稿纸,而Matlab只需几行代码即可优雅解决。
- 交互式的学习环境,所见即所得,让你能瞬间看到刚刚所敲代码的运行结果,容易产生浸入式的流体验。
- 业界通用,有千千万万的工程师、分析师等等各色人等都在用;解决各个行业的问题都可以用,从数学、统计学到物理学、生物学、电信、电力,再到经济学、金融,再到数据分析处理、人工智能,简直无所不能。
- 最后一点,也是最重要的,它可以解决你学习或工作中的一些切身"痛点"。比如可以缩短我做复杂的概率论作业的时间从而腾出来更多时间来一局游戏。
怎样轻松、无痛、少走弯路地学习Matlab
- 在Matlab交互式环境上实际操作。交互环境下,所见即所得,体验每个命令、每个函数的作用和效果。
- 用实际需要驱动学习。比如:我想用Matlab来做高斯消元法解线性方程组,那么不要犹豫,just do it! 不要想着等到把Matlab这个东西的所有规则、语法、套路都了熟于胸的时候才动手去做,而是从现在、此刻就开始去做、去实现这个需求,在做中一步步学具体的知识点。
- 做点好玩的。实际的需求难免枯燥乏味,这个时候如果想深入、持续地去学习,就要自己找点"乐子"来做,比如去尝试怎么画出一个心形曲线,怎么画出一个狂拽酷炫的三维图像,等等。
- 多使用
demo
命令看Matlab自带的短小精悍的demo程序。
怎样写一个Matlab的Hello World
环境安装
由于Matlab是一个商业软件,其本身体积非常大,且收费,所以为了方便起见,本人下载了一个超精简版、免安装的Matlab 5.3绿色版本(这里是下载地址),整个软件包只有70多MB,打开即用。虽然是精简版的,但对于基础功能的练习足够了。
其界面的画风是这样的:
简直简洁(简陋)到没朋友,一打开就是交互式命令行,我敲了一个算式:1 + 1
,然后回车,它就算出来了结果:2
Hello World
Hello World
应该是在程序员界最为知名的一句话,任何一门编程语言的入门级教程里第一页(或前几页)都写有这句话。当然Matlab也是一种编程语言,这里我们也用Matlab的disp
函数来输出Hello World
来开启我们的入门之旅。
随机推荐
- Python学习笔记5-元组Tuple
tuple和list非常类似,但是tuple一旦初始化就不能修改,它也没有append(),insert()这样的方法.其他获取元素的方法和list是一样的 元组是用圆括号括起来的,其中的元素之间用逗 ...
- cobbler上部署centos系统修改网卡地址成eth0
编辑cobbler的profile文件: cobbler profile edit --name=CentOS-7.2-x86_64 --kopts='net.ifnames=0 biosdevn ...
- PHP 开发环境的搭建和使用03-- 安装mySql
1/ 安装的MySQL版本是5.6.10版本的,直接点击Install 2/ 选择 Execute 3/ 更新最新版本成功后,选择 "next" 4/ 自定义安装方式,选择C ...
- mybatis的一对多,多对一,以及多对对的配置和使用
1.本文章是无意中看见易百教程的Mybatis教程才注意到这个问题,平时都仅仅是在用CRUD,忽略了这方面的问题,真实十分羞愧 2.首先我们开始对mybatis的一对多的探究 根据这个应用场景 ...
- nexus配置第三方库文件
进入nexus管理界面 默认用户名密码:admin/admin123 在左侧Views/Repositories中选择Repositories,然后在右侧的面板中选择3rd party,在下方arti ...
- OpenGL编程指南第九章:纹理映射
转自://http://blog.csdn.net/longhuihu/article/details/8477614 纹理(texture)是一块矩形数据序列,存储的数据为颜色.亮度.alpha值. ...
- poj1179 Polygon【区间DP】
Polygon Time Limit: 1000MS Memory Limit: 10000K Total Submissions:6633 Accepted: 2834 Descriptio ...
- webservice接口问题:Payload: No message body writer has been found for class domain, ContentType: application/xml
当在使用cxf-rs的webservice的时候,有时候在传输数据,会发生这种错误 错误代码: Response-Code: 500 Content-Type: text/plain Headers: ...
- C#中字符数组,字节数组和string之间的转化
转自:http://blog.csdn.net/wangxiaoqin00007/article/details/17675419 NDC(NetworkDiskClient)的界面和后台程序之间用S ...
- jquery的常用知识点
一.用jquery寻找元素 1.选择器 基本选择器: $("*") $("#id") 用id匹配 $(".class") 用class名匹配 ...