二、MATLAB基础知识

(二)数值、变量和表达式

  • 命名规则:

    • 变量名对大小写敏感,即区分大小写
    • 变量名必须以字母开头,后面可以采用数字、下划线和字母,但不能使用空格、标点符号和运算符
    • 变量名最长可以采用63个字符,之后的字符串都将被忽略
    • 关键字(或保留字)不能作为变量名称,
      • 可以通过iskeyword命令来查询保留字(keywords
      • 通过isvarname来查询所定义的变量名是否位关键字
  • 表2-6 预定义变量
预定义变量 变量的意义
ans 默认的计算结果变量名,answers的缩写形式
beep 计算机自动发出声音
pi 圆周率π
eps 浮点数的精度(2.2204e—016),最小数值,和数值相加后,产生大于该数值的最小的那个数
inf 无穷大数的表示(1/0产生)
NaN 书之不能确定,不是一个数(Not a Number),通常由0/0、∞/∞等不能确定数值的时候产生
i或j 虚数的单位,即 i=j=√-1
nargin 在调用函数时,函数变量的输入个数
nargout 函数调用时,由函数输出的变量个数
realmin 可用的最小正实数
realmax 可用的最大正实数
bitmax 可用的最大正整数(用双精度来表示,9.0072e+015)
varargin 函数输入的变量中,可变变量的输入个数
varargout 可变的函数输出个数
    • 如果用户对预定义的特殊变量赋值,那么该特殊变量的数值将会被临时覆盖
    • 运算过程中,被0除不会导致程序的终止,系统会根据情况给出警告信息,并相应的用Inf或NaN来表示这些计算结果

(三)数值数据类型

  • 整数

    • 表2-7 整数类型
数据类型 说明
uint8 8位无符号整数,数值范围为0~255(0~28-1)
int8 8位有符号整数,数值范围为-128~127(-27~27-1)
uint16 16位无符号整数,数值范围为0~65535(0~216-1)
int16 16位有符号整数,数值范围为-32768~32767(-215~215-1)
uint32 32位无符号整数,数值范围为0~4294967295(0~232-1)
int32 32位有符号整数,数值范围为-2147483648~2147483647(-231~231-1)
uint64 64位无符号整数,数值范围为0~18446744073709551615(0~264-1)
int64 64位有符号整数,数值范围为-9223372036854775808~9223372036854775807(-263~263-1)
    • 上表定义的整数数据类型不同,但是具有相同的性质,这些数据都可以通过函数 intmax 和 intmin 来查询此种数据类型的上下限
    • 整型数据的定义(e_two_4.m
    • 整型数据数据运算(e_two_5.m
      • 进行除法运算时,先将向量中的整数元素作为双精度类型的数据进行计算,然后根据四舍五入原则得到整型数据相除的结果
    • 整型数据的转化(e_two_6.m
      • 不同类型的整型数据之间不能进行数学运算;支持双精度标量和整型数据之间的数学运算(原因在于MATLAB先将双精度类型的标量数据转化成整型数据再进行计算)
    • 整型数据运算的溢出(e_two_7.m
      • 当运算过程中产生溢出问题时,MATLAB采用饱和处理,即将计算结果设定为溢出方向的上下限数值
  • 浮点数
    • 默认类型数据:双精度类型(double)
    • 为了节省存储空间,支持单精度类型(single)的数组
    • 单精度和双精度类型的取值范围可以选择函数realmin、realmax来得到。单精度类型浮点数的精度可以通过函数eps来得到。(e_two_8.m
    • 单精度数据创建及混合运算(e_two_9.m
    • 存在特殊的浮点数Inf(无穷大)和NaN(被零除),特殊的双精度数(e_two_10.m
  • 整型浮点数间的操作函数
    • 表2-8    常见的数值数据函数(表中,type为numeric、integer、float及其它类型的数据类型)
函数名称 描述
double 创建或转化为双精度类型的数据
single 创建或转化为单精度数据
int8,int16,int32,int64 创建或转化为有符号的整型数据
uint8,unit16,unit32,unit64 创建或转化为无符号的整型数据
isnumeric 数据类型判断函数,如果为整型数据或浮点数,那么函数返回true
isinteger 整型数据判断函数,如果为整型数据,那么返回true
isfloat 浮点数类型判断函数,如果为单精度或双精度数据,则返回true
isa(x, 'type') 判断x是否为指定的type类型数据,若是则返回true
cast(x, 'type') 将x的数据类型转化为type类型数据
intmax('type') 返回整型数据的最大数值
intmin('type') 返回整型数据的最小数值
realmax('type') 返回浮点数的最大数值
realmin('type') 返回浮点数的最小数值
eps('type') 返回type类型数据的eps数值(浮点数值,即精度)
eps('x') x的eps数值
  • 复数

    • 在matlab中能够直接在复数域上进行运算,采用提供的命令进行复数的极坐标形式和直角坐标形式之间的转化
    • 欧拉公式
real(z) 计算复数的实部z=rcosθ
imag(z) 计算复数的虚部z=rsinθ
abs(z) 计算复数的模√(a2+b2)
angle(z) 以弧度为单位给出复数的幅角arctan(b/a)
    • 复数的表达和书写(e_two_11.m),复数可通过以下几种方式来进行定义:

      • 直接定义法:根据复数经典的直角坐标和极坐标方式来进行定义
      • 通过函数complex来进行定义
      • 在数值运算过程中产生复数
      • 在定义过程中,如果复数单位 i 和 j 直接和表达式相连接,则不能够进行复数的定义,只有通过相乘方式才能够进行定义
      • 复数通过“数值标量”的方式进行定义时不适用于“数值矩阵”形式(尽量少用)
    • 复数的实部、虚部、模和幅角的计算(e_two_12.m
    • 求解复数的根,并将这些根用图形表达(e_two_13.m
  • 常见的数学函数
    • MATLAB提供了大量的数学函数,角度都是用弧度来表示
    • 表2-9   三角函数表
三角函数名 说明
acos 反余弦函数
acosh 反双曲余弦函数
acot 反余切函数
acoth 反双曲余切函数
acsc 反余割函数
asec 反正割函数
asin 反正弦函数
asinh 反双曲正弦函数
atan 反正切函数
atan2 4个象限内反正切
atanh 反双曲正切函数
cos 余弦函数
cosh 双曲余弦函数
cot 余切函数
coth 双曲余切函数
csc 余割函数
csch 双曲余割函数
sec 正割函数
sech 双曲正割函数
sin 正弦函数
sinh 双曲正弦函数
tan 正切函数
tanh 双曲正切函数
    • 表2-10    指数函数表
指数函数名 说明
^ 乘方
exp
ln 自然对数
lg 以10为底的对数
lb 以2为底的对数,分割浮点数
pow2 以2为底的幂,比例浮点数
sqrt 平方根
nextpow2 最小的P,是的2P不小于给定的N
    • 表2-11    复数函数表
复数函数名 说明
abs 绝对值或复数的模
angle 用弧度表示的相角度
conj 共轭复数函数
imag 虚部
real 实部
unwrap 相角展开
isreal 如果是实数,则返回true
cplxpair 将矢量按共轭复数对重新排列
complex 由实部和虚部组成复数
    • 表2-12    舍入和余数函数表
舍入和余数函数名 说明
fix 向0舍入
floor 向负无穷舍入
ceil 向正无穷舍入
round 向最接近的整数舍入
mod 模数取余
rem 对数法取余数
sign 符号函数
    • 表2-13  坐标变换函数
坐标变换函数名 说明
cart2sph 笛卡尔坐标到球坐标变换函数
cartpol 笛卡尔坐标到柱坐标或极坐标变换函数
pol2cart 柱坐标或极坐标到球坐标变换函数
sph2cart 球坐标到笛卡尔坐标变换函数
    • 表2-14    数理函数表
数理函数名 说明
factor 质数因子
isprime 如果是质数,则返回true
primes 产生质数列数
gcd 最大公因数
lcm 最小公倍数
rat 有理逼近
rats 有理数输出
perms 所有可能的组合
nchoosek 从N个元素中一次取K个的所有组合数
    • 表2-15    专用函数表
专用函数名 说明
airy airy函数
besselj 第一类贝赛尔函数
bessely 第二类贝塞尔函数
besselh 第三类贝塞尔函数
besseli 经过修正后的第一类贝塞尔函数
besselk 经过修正后的第二类贝赛尔函数
beta beta函数
betainc 不完全beta函数
betaln beta函数的对数
ellipj Jacobi椭圆函数
ellipke 完全椭圆积分
erf 误差函数
erfc 互补误差函数
erfinv 比例互补误差函数
expint 误差函数的逆函数
gamma gamma函数
gammainc 不完全gamma函数
gammaln gamma函数的对数
legendre legendre伴随函数
cross 向量叉乘
dot 向量点乘

Matlab学习笔记(二)的更多相关文章

  1. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  2. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  3. tensorflow学习笔记二:入门基础 好教程 可用

    http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一 ...

  4. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  5. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  6. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  7. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  8. JMX学习笔记(二)-Notification

    Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...

  9. java之jvm学习笔记二(类装载器的体系结构)

    java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...

  10. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

随机推荐

  1. 如何快捷安装并配置MySQL 下载破解Navicat for mysql

    首先,要先下载MySQL,进官网下载相应的mysql版本,这个不收费,实在不知道的可以参考一下这篇:https://blog.csdn.net/qq_37172528/article/details/ ...

  2. Kerberos原理和基础小结

    此篇文章仅做Kerberos的基本原理和基本使用做说明,本人对Kerberos了解有限,也是通过大量英文文档中翻译过来, 加上自己对Kerberos的理解所写,本人英文太菜,看文档看的头昏眼花若有写的 ...

  3. 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)

    不多说,直接上干货! Impala和Hive的关系(详解) 扩展博客 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 参考 horton ...

  4. 浅谈Windows API编程

    WinSDK是编程中的传统难点,个人写的WinAPI程序也不少了,其实之所以难就难在每个调用的API都包含着Windows这个操作系统的潜规则或者是windows内部的运行机制…… WinSDK是编程 ...

  5. POJ 1258 Agri-Net(Prim求最小生成树)

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64912   Accepted: 26854 Descri ...

  6. 洛谷 P1816 忠诚

    https://www.luogu.org/problemnew/show/1816 st表模板 #include<cstdio> #include<algorithm> us ...

  7. 使用HttpClient携带pfx证书调用HTTPS协议的WebService

    调用第三方服务时,厂商提供了一个WSDL文件.调用的地址和一个后缀为pfx的证书文件,通过SOUPUI记载证书是可以正常调用WebService服务,那么如何将该服务转换为代码呢? 咨询了厂商的支持, ...

  8. math数学函数

    Console.WriteLine("Math.Sign(12)--->{0})", Math.Sign(12)) Console.WriteLine("math. ...

  9. [SPOJ1812]Longest Common Substring II 后缀自动机 多个串的最长公共子串

    题目链接:http://www.spoj.com/problems/LCS2/ 其实两个串的LCS会了,多个串的LCS也就差不多了. 我们先用一个串建立后缀自动机,然后其它的串在上面跑.跑的时候算出每 ...

  10. 使用Jenkins进行android项目的自动构建(2)

    Maven and POM 1. 什么是Maven? 官方的解释是: http://maven.apache.org/guides/getting-started/index.html#What_is ...