信号与系统实验序章0——MATLAB基础命令入门

本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换。

同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习过程,欢迎大家指出错误和补充!

本章为信号与系统实验序章,MATLAB的简单入门,本文没有特别的难点,较难的地方在本文都有较详细的说明,请放心食用!

有空可以来看看我的个人博客:ShadowL's Blog

下面开启正文

一.MATLAB相关简介和安装。

(一)MATLAB简介。

1.What is MATLAB ?

MATLAB(矩阵实验室) 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

2.Why is it called MATLAB ?

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

3.MATLAB主要提供以下功能:

-可用于技术计算的高级语言
-可对代码、文件和数据进行管理的开发环境
-可以按迭代的方式探查、设计及求解问题的交互式工具
-可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等的数学函数
-可用于可视化数据的二维和三维图形函数
-可用于构建自定义的图形用户界面的各种工具
-可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及Microsoft Excel)集成的各种函数

以上就是MATLAB的大概介绍,总的来说就是这个软件是为了数值分析和矩阵计算而被广泛运用,当然MATLAB如今的功能已经十分的强大,软件的从当初1M左右也变为现在的十几接近二十个G,MATLAB也成为了三大数学软件之一,在各个领域都有广泛的应用。

无论你是出于什么目的来学习MATLAB,我们都应该细致的开始,深入的进行。

下面开始MATLAB的学习过程吧!

(二)Matlab的安装

1.正规途径

软件官网:https://ww2.mathworks.cn/products/matlab.html

MATLAB官网页面

下面为官网的最新报价
好贵!

MATLAB正版的价格十分昂贵,如果大家能够支付得起,直接下载官网上的文件按步骤安装就好。

2.非正规途径

非正规途径MATLAB的安装方式在网络上有很多,大家跟着网络上的教程就可以实现完整的安装。

如果是个人的使用的话,不涉及商用,那么我们不用去在意途径的正规与否,但如果条件允许的话,尽量使用正版软件。

在安装方面,我们不费太多篇幅:

分享一个很详细的MATLAB获取和安装教程链接:https://mp.weixin.qq.com/s/ky6vCBJrj4q-qlgf7CT5gg

二.MATLAB简单使用教学。

(一)使用命令行。

安装成功后,显示的页面应如下


MATLAB2019a初始界面

页面相当简洁,命令行区域是我们主要操作的区域,MATLAB主要是靠命令的输入完成相应的工作;而旁边的工作区是我们用来观察我们创建的一些变量和函数的工作情况,我们创建的变量在创建成功后会在工作区有相应的显示。

而在左上角有一个新建脚本,如果你是有丰富的编程经验的程序员,那么脚本的方式可能更和你的胃口,如果你不了解脚本,那也无妨,开始的操作并不需要脚本和函数的建立,熟悉命令行的操作就可以完成很多的工作,在后面的信号与系统的实验中当我们用到脚本和函数的建立时,我们自然会记录下如何使用它。

1.简单的命令。

下面我们介绍一些简单的命令:

(1)退出和中断。
exit,quit       % 结束MATLAB会话。程序完成,如果没有明确保存,则变量中的数据消失
 
Ctrl-c          % 中断一个MATLAB任务,但会话并没有结束

其实这两个命令用处不是很大,大部分时间我们用不上它

(2)清除和清屏。
clc             % 清屏,清除命令行区的内容
 
clear           % 清除工作区

这两个命令出现的次数会极其频繁

(3)多维矩阵的建立。

MATLAB的中文名为矩阵实验室,它的数据的基本格式就是矩阵。

科普一下矩阵:在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵。

如果你是一个科幻影迷的话,对Matrix这个单词应该并不陌生。

我也想像Neo一样在网络空间里上天入地!

二维矩阵是一个带有以行和列排列的元素的矩形表。如果有m行、n列,这个矩阵的大小就是m×n。多维矩阵的维数大于二,就是说其大小为m×n×......×p。

矩阵这方面的知识我们不去详细解释,学过线性代数的话对矩阵应该是十分熟悉。

a.标量的指定,如果写入x=7,则在屏幕打印为:
>> x=7
 
x =
     7
b.如果仅写入7,则结果变为:
>> 7
 
ans =
     7
c.2×3维情况下一个矩阵的定义可以逐行给出元素:
>> A=[1 2 3
4 5 6]
 
A =
     1     2     3
     4     5     6
d.也可以在同一行用分号来分隔行以给出所有的元素(常用):
>> A=[ 1 2 3; 4 5 6]  %构建一个2×3的矩阵
 
A =
     1     2     3
     4     5     6

在命令后加一个分号可以禁止打印出结果。

e.一个行向量和一个列向量的定义:
>> rowvec=[1.2 3.2 4]
 
rowvec =
    1.2000    3.2000    4.0000
 
>> colvec=[2.7;3.4;-9.2]  %用分号隔开
 
colvec = 
    2.7000
    3.4000
   -9.2000

f.若想显示一个变量的值,输入它的名字即可:

>> A
 
A =
 
     1     2     3
     4     5     6

创建过的变量并没有消失,可以在工作区查看它的状态:


查看状态
g.也可以逐个地分配元素:
>> B(1,1)=1;
>> B(1,2)=7;
>> B(2,1)=-5;
>> B(2,2)=0
 
B =
 
     1     7
    -5     0
h.通过间距来创建矩阵:

例如想创建一个公差为1的首项为0,末项为10的数列:

>> C=[0 : 1 : 10]
 
C =
 
     0     1     2     3     4     5     6     7     8     9    10

通过 变量名=[首项 : 公差 :末项] 便可以方便的创造数列,这个方式也是MATLAB模拟连续函数的方式,在后面的信号函数绘制中,我们会大量的用到它。

(3)算数表达式和数学函数。
a.矩阵的简单运算。

在MATLAB中通常的惯例是书写数字。对十进制数,使用科学计数法可以十分大和十分小的数。例如3.14和1.23E-6,这里,后者代表1.23×10-6。

MATLAB有算数运算符的扩展集,它们是:

1)^ 幂
2)* 乘
/ 右除(正常除)
\ 左除

3)+ 加
- 减

这是按顺序给出的运算,1是最高优先级。在带相同优先级的运算符表达式中,按从左到右的顺序执行。圆括号()能够用于改变优先级次序。

在算术运算符前加 . 表示元素之间的计算,与矩阵的运算不同,如:.* 表示点乘,./表示点除,需要特别注意。

b.MATLAB中常用的预定义变量:
pi               %返回Π,即3.141592653589793,只是一个近似值
inf              %定义为1/0。当出现被零除时,MATLAB就返回inf,并不中断执行而继续计算。
NaN              %定义为“Not a Number”,表示非数值,可能是inf/inf。
i,j              %定义为√-1,虚数单位。
c.MATLAB常用的数学函数:
sqrt(x)                %开平方
real(z)                %复数z的实部
imag(z)                %复数z的虚部
conj(z)                %复数z的共轭复数
round(x)               %四舍五入至最近整数
fix(x)                 %无论正负,舍去小数至最近整数 rem(x,y)               %求x除以y的余数
gcd(x,y)               %整数x和y的最大公因数
lcm(x,y)               %整数x和y的最小公倍数
exp(x)                 %自然指数
pow2(x)                %2的指数
log(x)                 %以e为底的对数
log2(x)                %以2为底的对数
log10(x)               %以10为底的对数

常用的三角函数:

sin(x)                 %正弦函数
cos(x)                 %余弦函数
tan(x)                 %正切函数
asin(x)                %反正弦函数
acos(x)                %反余弦函数
atan(x)                %反正切函数

用于向量的常用函数有:

min(x)                 %向量x的元素的最小值
max(x)                 %向量x的元素的最大值
mean(x)                %向量x的元素的平均值
median(x)              %向量x的元素的中位数
std(x)                 %向量x的元素的标准差
diff(x)                %向量x的相邻元素的差
sort(x)                %对向量x的元素进行排序
length(x)              %向量x的元素个数
norm(x)                %向量x的欧氏长度
sum(x)                 %向量x的元素总和
prod(x)                %向量x的元素总乘积
cumsum(x)              %向量x的累计元素总和
cumprod(x)             %向量x的累计元素总乘积

关于矩阵的运算和性质,可参考线性代数的知识,这里不加说明。

基本的MATLAB的命令大部分都在上面,还有一些函数我们在之后的篇章中会边学边用,希望对大家有帮助。

MATLAB慕课推荐:https://www.coursera.org/learn/matlab/home/welcome

之后的实验一部分题目来自于这个课程的课后习题

有时间强烈推荐学习此课程

有空可以来看看我的个人博客:ShadowL's Blog

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容

  • 2.1、方法的重载:overload 概念:一个类中的,一个功能方法的多种体现形式(有不同的方法体)。 举例: ...
    机会留给有准备的人阅读 212评论 0 0
  • 1 学习目标 了解常用的机器学习模型,并掌握机器学习模型的建模与调参流程 完成相应学习打卡任务 2 内容介绍 线性...
    黑乎乎AI阅读 242评论 0 0
  • 待了车易拍也有一段时间了,他们这活是有的也挺多只不过只是一些老车不好修而且都还着急,每修一辆车都再催以后再修给他们...
    AAAAA京心达张水尚阅读 73评论 0 0
  • 我是南方人,可我却在北方安了家。 起初来到这个城市,因为有他。后来他走了,我留了下来。 我不喜欢北方的大风和雾霾,...
    六小盒阅读 90评论 0 2
  • 研究表明,当儿童被过多地剥夺与自然环境接触的机会时,他们会出现一些被称为“自然环境缺乏症”的身心紊乱的表现。这些表...
    小Y育儿阅读 569评论 0 1