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学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
随机推荐
- 使用了eclipse10年之后,我终于投向了IDEA
使用了eclipse10年之后,我终于投向了IDEA 最近,改用了idea,同事都说我投敌了.当然,这些同事都是和我一样的"老"程序员.不说毕业生,公司里的90后基本电脑都不会安装 ...
- CentOS 7静默(无图形化界面)安装Oracle 11g
准备CentOS 7 系统环境 我以 CentOS-7-x86_64-DVD-1511.iso 为例,简述Oracle 11g的安装过程. 由于是使用静默模式(silent)安装的,无需使用图形化界面 ...
- mybatis-plus 获取新增id
<insert id="insert" parameterType="com.xxx.xxxx.pojo.User"> insert into t_ ...
- python模拟登录的实现
本文主要用python实现了对网站的模拟登录.通过自己构造post数据来用Python实现登录过程. 当你要模拟登录一个网站时,首先要搞清楚网站的登录处理细节(发了什么样的数据,给谁发等...). ...
- [UOJ388]配对树
题解 贪心+线段树 首先如果我们知道了哪些点是关键点应该怎么搞 显然最小的匹配方案所有的边至多被经过一次 可以考虑每条边的贡献 因为我们要贡献尽量小 所以我们尽量让每条边经过的人尽量少 那么每条边被经 ...
- [CF1109F]Sasha and Algorithm of Silence's Sounds
题意 有一个\(n*m\)的网格,每个格子有一个数,为\(1\)~\(n * m\)的排列 一个区间\((1<=l<=r<=n*m)\)是好的,当且仅当:数值在该区间内的格子,构成一 ...
- AJPFX关于IO流的简单总结
IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,Output ...
- css选择器的对比样式代码精简
通常就分为这三大类:* 选定所有对象.通配选择符(Universal Selector)通常不建议使用通配选择符,因为它会遍历并命中文档中所有的元素,出于性能考虑,需酌情使用一.标签选择器,以开始标签 ...
- [Windows Server 2012] 阿里云镜像购买和使用方法
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将演示:阿里云镜像购买 ...
- 【译】x86程序员手册35-9.8异常条件
译注:一些异常没有翻译,因为看书时主要为了理解linux代码,所以代码中没有主要使用的就没有仔细看.这部分内容后期再看时再进行翻译. 9.8 Exception Conditions 异常条件 The ...