Matlab程序设计基础与simulink仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
double实数的11位指数码全1时,数符码和尾码有253状态不能表示数字,其中有 两种状态分别表示+inf和-inf(即± 21023),另有一种状态表示nan(21023*(1+1/2)),所以double实数共有264-(253)+3= 18437736874454810624个 表数状态。大数的量化阶为2-52,小数的量化阶为2-1074,注意10-308与10-308+ 2-1074显示的不同。
如果t=2-m+2-q, 就在尾数的第m位和第q位都置1. 例1 –(2-127+2-149 ) = (-1)12-126(2-1+2-23),即s=1, p=-127,t=2-1+2-23, 则有m=1,q=23, p+126=0, s=1, t=12; [–(2-127+2-149)]single=1000 0000 0100 0000 0000 0000 0000 00012
即 0~intmax(‘uint64’) 机器码:直接化为二进制正整数,无符号整型数超范围时
取最大正整数或最小的0。上超封顶,下超封底。 例如 uint8(-179)为00H,int8(279)为ffH。
有符号整数
int8: 表数范围, -128(-27)~127 (2^7-1) Int16: 表数范围,-32768(-215)~32767(215-1) Int32: 表数范围,
23bit尾数码:0≤ t ≤1-2-23, t为尾数,t 码占第10到32位。
如果t=2 -m+2 -q, 就在尾数的第m位和第q位都置1.
例如 -128.5=(-1)127(1+2-8),即s=1, p=7,t=2-8,m=8,则有
single码:p+127=128+6=100001102; t=2-8=02; [-128.5]single=1100 0011 0000 0000 1000 0000 0000 00002 =c3008000H;
小single浮点数编码 x=(-1)s2p*t,存s,p+126,t
1bit数符码:正实数s=0,负实数s=1, s占编码的首个bit位。 8bit指数码:指数码是p+126的编码,占编码的第2到第9位。
p=-126因而指数码8位全0。23bit尾数码:0≤ t ≤1-2-23, t为
尾数,t码占第10到32位。
例如 int8(-79)为b1H,int8(179)为ffH。
浮点型实数
单精度实数 single:每个数据占4B空间,表数绝对值范围为 1.1755e-38(2-126)~3.4028e+38(7f7fffff) realmax('single')=3.40282e+38 =2127*(2-2-23) 双精度实数 Double:每个数据占8B空间,表数绝对值范围为 2.2251e-308(2-1022)~1.7977e+308(7fefffffffffffff) realmax('double')= 1.7977e+308=21023*(2-2-52)
大single浮点数x=(-1)s2p(1+t)编码,存s,p+127,t
1bit数符码:正实数s=0,负实数s=1, s占编码的首个bit位。 8bit指数码:指数码是p+127的编码,占编码的第二到第9位。
-126≤p ≤ 127,1 ≤ p+127≤254。s=0,t=0,p=128对应 inf,s=1,p=128,t=0.5对应非数nan.
第一章 Matlab 编程基础
龙姝明 教授 2013.9 于汉中
1.1 Matlab的数据类型及表示数值的范围
1.1.1 Matlab中的数值Βιβλιοθήκη Baidu数据
无符号整型
uint8: 表数范围 0~255(28-1) uint16: 表数范围 0~65535(216-1) uint32: 表数范围 0~4294967295(232-1) uint64: 0~184467445 (264-1)
- - 小实数x: 0≤ |xs|≤2-126 2-149; 0≤ |xd| ≤2-1022 2-1074
single实数的8位指数码全1时,数符码和尾码有224状态不能表示数字,其中有两 种状态分别表示+inf和-inf(即± 2128),另有一种状态表示nan(-2128*(1+1/2)), 所以single实数共有232-(224)+3= 4278190083个表数状态。大数的量化阶为223, 小数的量化阶为2-149。
=80400001H; 例2 2-130=(-1)02-126(2-4), s=0, p+126=0,t=2-4, m=4因而有 [2-149]single = (-1)02-126*2-23 =00000001H
大double浮点数编码x=(-1)s2p(1+t),存s,p+1023,t
1bit数符码:正实数s=0,负实数s=1, s占编码的首个bit位。 11bit指数码:指数码是对p+1023的编码,占编码的第2到第12位。 -1022≤p ≤ 1023; 1≤ p+1023≤2046。s=0,t=0,p=1024对应inf.
实数的机器码
输入format hex命令后,输入实数,将会显示其十六进制编码。例如
format hex;x=(-1)*2^1023, y=single(-1*2^-127) 显示结果分别为 x=ffe00H,y=80400000H 实数分大小实数分别编码 大实数x: 2127 *(2-2-23) ≥ |xs|≥2-126; 21023*(2-2-52)≥|xd|≥2-1022
-2147483648(-231)~2147483647(231-1)
Int64: -92233728(-263)
~ 92233727(263-1); 即 intmin(‘int64’) ~ intmax(‘int64’) 机器码:不超范围时正数直接化为二进制整数,负数加2n (n=8,16, 32,64) 化为正数再化为二进制整数。超范围时 取最大正整数或绝对值最大的负整数。上超封顶,下超 封底。
如果t=2-m+2-q, 就在尾数的第m位和第q位都置1. 例1 –(2-127+2-149 ) = (-1)12-126(2-1+2-23),即s=1, p=-127,t=2-1+2-23, 则有m=1,q=23, p+126=0, s=1, t=12; [–(2-127+2-149)]single=1000 0000 0100 0000 0000 0000 0000 00012
即 0~intmax(‘uint64’) 机器码:直接化为二进制正整数,无符号整型数超范围时
取最大正整数或最小的0。上超封顶,下超封底。 例如 uint8(-179)为00H,int8(279)为ffH。
有符号整数
int8: 表数范围, -128(-27)~127 (2^7-1) Int16: 表数范围,-32768(-215)~32767(215-1) Int32: 表数范围,
23bit尾数码:0≤ t ≤1-2-23, t为尾数,t 码占第10到32位。
如果t=2 -m+2 -q, 就在尾数的第m位和第q位都置1.
例如 -128.5=(-1)127(1+2-8),即s=1, p=7,t=2-8,m=8,则有
single码:p+127=128+6=100001102; t=2-8=02; [-128.5]single=1100 0011 0000 0000 1000 0000 0000 00002 =c3008000H;
小single浮点数编码 x=(-1)s2p*t,存s,p+126,t
1bit数符码:正实数s=0,负实数s=1, s占编码的首个bit位。 8bit指数码:指数码是p+126的编码,占编码的第2到第9位。
p=-126因而指数码8位全0。23bit尾数码:0≤ t ≤1-2-23, t为
尾数,t码占第10到32位。
例如 int8(-79)为b1H,int8(179)为ffH。
浮点型实数
单精度实数 single:每个数据占4B空间,表数绝对值范围为 1.1755e-38(2-126)~3.4028e+38(7f7fffff) realmax('single')=3.40282e+38 =2127*(2-2-23) 双精度实数 Double:每个数据占8B空间,表数绝对值范围为 2.2251e-308(2-1022)~1.7977e+308(7fefffffffffffff) realmax('double')= 1.7977e+308=21023*(2-2-52)
大single浮点数x=(-1)s2p(1+t)编码,存s,p+127,t
1bit数符码:正实数s=0,负实数s=1, s占编码的首个bit位。 8bit指数码:指数码是p+127的编码,占编码的第二到第9位。
-126≤p ≤ 127,1 ≤ p+127≤254。s=0,t=0,p=128对应 inf,s=1,p=128,t=0.5对应非数nan.
第一章 Matlab 编程基础
龙姝明 教授 2013.9 于汉中
1.1 Matlab的数据类型及表示数值的范围
1.1.1 Matlab中的数值Βιβλιοθήκη Baidu数据
无符号整型
uint8: 表数范围 0~255(28-1) uint16: 表数范围 0~65535(216-1) uint32: 表数范围 0~4294967295(232-1) uint64: 0~184467445 (264-1)
- - 小实数x: 0≤ |xs|≤2-126 2-149; 0≤ |xd| ≤2-1022 2-1074
single实数的8位指数码全1时,数符码和尾码有224状态不能表示数字,其中有两 种状态分别表示+inf和-inf(即± 2128),另有一种状态表示nan(-2128*(1+1/2)), 所以single实数共有232-(224)+3= 4278190083个表数状态。大数的量化阶为223, 小数的量化阶为2-149。
=80400001H; 例2 2-130=(-1)02-126(2-4), s=0, p+126=0,t=2-4, m=4因而有 [2-149]single = (-1)02-126*2-23 =00000001H
大double浮点数编码x=(-1)s2p(1+t),存s,p+1023,t
1bit数符码:正实数s=0,负实数s=1, s占编码的首个bit位。 11bit指数码:指数码是对p+1023的编码,占编码的第2到第12位。 -1022≤p ≤ 1023; 1≤ p+1023≤2046。s=0,t=0,p=1024对应inf.
实数的机器码
输入format hex命令后,输入实数,将会显示其十六进制编码。例如
format hex;x=(-1)*2^1023, y=single(-1*2^-127) 显示结果分别为 x=ffe00H,y=80400000H 实数分大小实数分别编码 大实数x: 2127 *(2-2-23) ≥ |xs|≥2-126; 21023*(2-2-52)≥|xd|≥2-1022
-2147483648(-231)~2147483647(231-1)
Int64: -92233728(-263)
~ 92233727(263-1); 即 intmin(‘int64’) ~ intmax(‘int64’) 机器码:不超范围时正数直接化为二进制整数,负数加2n (n=8,16, 32,64) 化为正数再化为二进制整数。超范围时 取最大正整数或绝对值最大的负整数。上超封顶,下超 封底。