数值数据类型的分类
(1)整型
无符号整数:无符号8位整数、无符号16位整数、无符号32位整数、无符号64位整数。
无符号8位整数数据范围:00000000-11111111(0 ~ 2^8 -1)。
带符号整数:带符号8位整数、带符号16位整数、带符号32位整数、带符号64位整数。
带符号8位整数数据范围:10000000~01111111(-2^7 ~ 2^7-1)。
MATLAB提供了数据类型转换函数来实现数据类型的转换,例如,uint8函数将数值数据转换为无符号8位整数,int8函数将数值数据转换为带符号8位整数。
>>X=int8(129) %带符号整形,最大值为127,所以输出最大值127
X=127
>>X=uint8(129)%无符号整型,最大值255
X=129
(2)浮点型
浮点型数据分为单精度型和双精度类型,单精度型实数在内存中占用4个字节,而双精度型实数在内存中占用8个字节,所以双精度型的数据精度更高。
single函数:将其他类型的数据转换为单精度型。
double函数:将其他类型的数据转换为双精度型。
>>class(4) %调用class函数
ans=double %得到 4 的数据类型为double,说明数值数据默认是double类型
>>class(single(4)) %用single函数转换精度
ans=single
(3)复型
复型数据包括实部和虚部两个部分,实部和虚部默认为双精度型,虚数单位用 i 或 j 来表示。
real函数:求复数的实部
imag函数:求复数的虚部
数值数据的输出格式
format命令的格式:format格式符
>>format long %将输出格式设置为 long格式
>>50/3 %输出 50/3的值,小数点后保留16位
ans=16.666666666666668
>>format %默认输出格式 short
>>50/3
ans=16.6667 %小数点后保留4位
format命令只影响数据输出格式,而不影响数据的计算和存储。
常用数学函数
(1)函数的调用格式为:函数名(函数自变量的值)
函数的自变量规定为矩阵变量,当然也可以是标量,标量本身是矩阵的一种特例。
函数在运算时是将函数逐项作用于矩阵的每个元素上,所以最后运算的结果就是一个与自变量同型的矩阵。
>>A=[4,2;3,6] % 输入A为2*2的矩阵
A=
4 2
3 6
>>B=exp(A) %把A的值传给B exp是e的幂函数
B=
54.5982 7.3891
20.0855 403.4288
(2)常用函数的应用
①三角函数有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”,以示区别。
>>sin(pi/2)
ans= 1
>>sind(90)
ans= 1
②abs函数可以求实数的绝对值、复数的模、字符串的ASCI码值。
>>abs(-4) % 取绝对值
ans= 4
>>abs(3+4i) % 求复数的模
ans= 5
>>abs('a') %求字符串’a'的ASCII码
ans= 97
③用于取整的函数有fix、floor、ceil、round。
round函数按照四舍五入的规则取整。
ceil函数是向上取整,取大于等于这个数的第一个整数。
floor函数是向下取整,取小于等于这个数的第一个整数。
fix函数是固定取靠近0的那个整数,即舍去小数取整。
>>fix(-3.2) % 舍去小数取整
ans = -3
>>floor(3.6)% 向下取整
ans = 3
>>ceil(-3.8)% 向上取整
ans = 3
>>round(4.7)% 四舍五入
ans = 5
④函数应用举例。
分别求一个三位正整数的个位数字、十位数字和百位数字。
一个三位正整数除以10的余数就是该数的个位数字。
一个三位正整数除以10取整后就去掉了这个数的个位数字,将新得到的数再除以10取余数,余数就是新得到的数的个位数字,也就是原数的十位数字。
一个三位正整数除以100取整后就去掉了这个数的个位数字和十位数字,得到百位数字。
>>m = 345; %给变量m赋值为345
% rem = remainder
>>m1 = rem(m,10) % 调用rem函数,把m/10的余数 给 m1
m1 = 5
>>m2 = rem(fix(m/10),10) % fix函数:取整,fix(m/10) = 34
m2=4
>>m3 = fix(m/100)
m3 = 3
求[1,100]区间的所有素数。
>>x = 1:100 % x的取值范围
% MATLAB提供了一个判断x是否素数的函数isprime(x),当x是素数时返回1,否则返回0。
>>k = isprime(x)
>>k1 = find(k) % 调用find函数,返回k中非零值的序号
【原创课堂笔记](https://www.bilibili.com/video/BV19J411W7Ta?p=3)