Matlab学习笔记(二)
二、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)
- 复数的表达和书写(e_two_11.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学习笔记(二)的更多相关文章
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JMX学习笔记(二)-Notification
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
随机推荐
- 【OpenJ_Bailian - 2945】拦截导弹(动态规划)
拦截导弹 Descriptions: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高 ...
- 依赖注入(二)Autofac简单使用
Autofac简单使用 源码下载传上源码,终于学会传文件了. 首先 还是那句话:“不要信我,否则你死得很惨!”. C#常见的依赖注入容器 IoC in .NET part 1: Autofac IoC ...
- 题解报告:hdu 2602 Bone Collector(01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , in Teddy’s ...
- c#拖拽文件
在“属性”窗口中,先设置MDI的父窗口的AllowDrop 属性更改为true;2.在父窗口的事件中添加下面两个事件 private void Form1_DragEnter(object sende ...
- java之java.sql.SQLException: ResultSet is from UPDATE. No Data.
问题解释:java调用存储过程的时候,查询结果不能通过ResultSet来查询,需要通过CallableStatement来查询, 比如: ResultSet rs = callableStateme ...
- lua使用lfs.dll库进行文件操作
在项目开发中,为了提高开发效率往往需要开发一些辅助工具.最近在公司用lua帮拓展了一个资源扫描的工具,这个工具的功能就是从原始demo下指定目标资源文件,对该文件进行读取并筛选过滤一遍然后拷贝到最终d ...
- 详解Android Activity启动模式
相关的基本概念: 1.任务栈(Task) 若干个Activity的集合的栈表示一个Task. 栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于 ...
- CAS介绍
1.概述 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 耶 ...
- Codeforces Round #460 (Div. 2)_D. Substring_[dp][拓扑排序]
题意:一个有向图,每个结点 被赋予一个小写字母,一条路径的value等与这条路径上出现次数最多的字母的数目,求该图的最大value 比赛时,用dfs超时,看官方题解用的dp和拓扑排序,a--z用0-2 ...
- js 类似于移动端购物车删除,左移动删除
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...