二、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. 【OpenJ_Bailian - 2945】拦截导弹(动态规划)

    拦截导弹  Descriptions: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高 ...

  2. 依赖注入(二)Autofac简单使用

    Autofac简单使用 源码下载传上源码,终于学会传文件了. 首先 还是那句话:“不要信我,否则你死得很惨!”. C#常见的依赖注入容器 IoC in .NET part 1: Autofac IoC ...

  3. 题解报告:hdu 2602 Bone Collector(01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , in Teddy’s ...

  4. c#拖拽文件

    在“属性”窗口中,先设置MDI的父窗口的AllowDrop 属性更改为true;2.在父窗口的事件中添加下面两个事件 private void Form1_DragEnter(object sende ...

  5. java之java.sql.SQLException: ResultSet is from UPDATE. No Data.

    问题解释:java调用存储过程的时候,查询结果不能通过ResultSet来查询,需要通过CallableStatement来查询, 比如: ResultSet rs = callableStateme ...

  6. lua使用lfs.dll库进行文件操作

    在项目开发中,为了提高开发效率往往需要开发一些辅助工具.最近在公司用lua帮拓展了一个资源扫描的工具,这个工具的功能就是从原始demo下指定目标资源文件,对该文件进行读取并筛选过滤一遍然后拷贝到最终d ...

  7. 详解Android Activity启动模式

    相关的基本概念: 1.任务栈(Task)   若干个Activity的集合的栈表示一个Task.   栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于 ...

  8. CAS介绍

    1.概述 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 耶 ...

  9. Codeforces Round #460 (Div. 2)_D. Substring_[dp][拓扑排序]

    题意:一个有向图,每个结点 被赋予一个小写字母,一条路径的value等与这条路径上出现次数最多的字母的数目,求该图的最大value 比赛时,用dfs超时,看官方题解用的dp和拓扑排序,a--z用0-2 ...

  10. js 类似于移动端购物车删除,左移动删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...