赞
踩
MATLAB是一款,由mathworks开发的高级技术计算环境和编程语言,常用于数据的可视化,高级程序操作,深度学习等方面,其最为出众的特性是可以展现矩阵,而不需要类似于Python借助库函数来实现。不仅于此,MATLAB还有众多的工具箱以支持不同类型工程的使用,包括航空航天工程、深度学习、电子电路等。
笔者通过根据电子工业出版社出版的《MATLAB使用教程(第五版)》所述内容,并加以自己的理解,所撰写本专栏内容,逐步由浅至深探索MATLAB的实用功能。
以下,先介绍一些,在MATLAB里最为基础的实用知识,有的地方可能会借助与Python得比较来进行讲解。
在MATLAB中一共有十五种基本的数据类型,常用的包括数值型(整型、浮点型)、字符串型、逻辑型等。
数值型可以分为整型和浮点型两种,顾名思义,即可以笼统看做整数和小数。
MATLAB提供了八种整型类型,可以分为无符号整数和符号整数两大类,每一类有四种,每一大类内的区别在于表示范围和字节数的不同。
浮点数是用来表示小数或带有小数部分的数值的数据类型,包括单精度浮点数和双精度浮点数。
在MATLAB里,默认的类型为双精度型,当你输入数据是,均为double型
a=100
b=0
c=12.0
%a、b、c的类型均为double
在实际使用中,double和single型主要区别在于运算速度和存储空间的占用,如果不考虑这两个因素,二者基本可以混用,即以系统默认的double型基本可以满足大部分需求。
字符型数据用于表示文本或字符串,一般使用单引号括起来,字符使用ascll码形式存放(即可以通过修改ascll码来间接修改字符串)。
在r2016b版本之后,实现了类似Python中字符串处理的一种字符串类型,用双引号括起来,可以实现切片和位置访问。
在MATLAB中,逻辑型数据可以表示为true和false,每个逻辑型占1字节
使用logical函数可以将数值型转换成逻辑型,所有的非0整数和浮点数均可转换为1(true),0可以转换为0(false)。
a=11.1
b=0
c=logical(a)
d=logical(b)
%c =1,类为logical,a的类仍为double
%d =0,类为logical,b的类仍为double
与Python类似,MATLAB也有相类似的变量命名规则,以及一些因为定义而具有特殊含义的特殊变量,因为保留字而无法定义为变量的特殊名等。
例:
2*3 %(当没有给出变量值时,计算的结果自动赋给名为ans的变量)
%ans=6
a=2*pi
%a=6.2832
a=1+2j;
b=a*a
%b=-3+4i
这些特殊变量在MATLAB中有着特定的含义和用途,但在实际编程中应谨慎使用,避免覆盖其默认功能。
1.变量清除
clear all %清除所有变量
clear q %清除去变量q
clear %清除所有可以清除的变量
2.变量查看
who a %查看变量a的值
who %查看工作空间中已经驻留的变量名
whose a%查看变量a的大小、字节数、数据类型等信息
whose %查看工作空间中已经驻留的变量名及其的大小、字节数、数据类型等信息
3.清空
%1.清空屏幕
clc
%清除命令行窗口而不清除变量
%2.清空图形
clf
%只清除图形窗口的图像
在MATLAB中数据采用十进制表示,在上文中提到的数值型的基础上,引申出了数组和矩阵的概念,同时也引申出了科学计数法的方法,在MATLAB中,较大的数字一般都使用科学计数法进行显示和储存。
合法的数值表示不仅有-2、100、1.1等,还有科学计数法2.56e-56(2.5x10-56)、4.68e204(4.68*10204)
复数的表示在上文中特殊变量中已经提及,使用特殊变量i或j辅助表示:
a=1+2j
a=1+2*j%当虚部为常量时,*号可以省略
b=2
a=1+b*j%当虚部为变量时,必须要加*号
还有一种方式,利用复数坐标系的极坐标方法计算,公式为
a=r*exp(i*θ)%r为极径,exp(i*θ)代表e的i*θ次方,θ为相位角
可以用real、imag、abs、angle四个函数分别得出一个复数的实部、虚部、幅值和相角
幅值即为模长,相角计算单位为rad,如果想得到角度,可以通过angle(变量)*180/pi来实现
在学习线性代数及工程数学的进程中,我们会学习到矩阵、行列式、方阵、向量、标量等概念,在编程语言中,MATLAB是一种可以直接展示矩阵的一种语言,这也是它的特性之一。(Python需要导入numpy库)
简单来说,标量是单个数值(1* 1),向量是按顺序排列的一维数组(1* n、n* 1),矩阵是由行和列组成的二维数组(n* n),而数组则可以包含标量、向量或矩阵,并且可以是任意维度的数据结构(n* n* n*……)
在MATLAB中,数学计算可以分为数值计算和符号计算,数值计算中的表达式必须事先被赋值,而符号计算中的表达式可以对未赋值的符号对象(可以是常数、变量、表达式等)进行运算和处理,符号运算是MATLAB数值处理功能的自然扩展,该项会在后续中详细介绍。
此处可以参考另一位博主的文章所述MATLAB操作界面详解以及基础指令
在MATLAB中,如果一个数据的小数位数很多,其显示形式会根据当前的设定变化而变化,一般情况下,MATLAB的预设为format(format short)格式(预设可以更改),即保证小数点后四位有效,大于1000的实数,用5位有效数字的科学计数法显示。
除此之外,MATLAB一共有十多种数值显示的format格式,可以直接用于在命令行输入修改数据显示格式:
3.14159显示为3.141590,3141.59显示为3.1416e+003
pi显示为3.1416e+00
在MATLAB中,也会涉及到一些与其他编程语言用法不尽相同的标点符号,一下简略介绍一些常用的标点符号的作用:
以上便是本篇所想要宽泛地介绍的关于MATLAB操作基础的一些预备知识,后续还将撰写更为详细的MATLAB程序设计相关文章
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。