MATLAB基础教程(一)——数值数据

MATLAB数值数据

A.a数值数据类型的分类(class)

整形

  • 无符号整数:无符号8位整数、无符号16位整数、无符号32位整数、无符号64位整数
    • 无符号8位整数数据范围:00000000~11111111(0~ 2 8 2^8 28-1)
  • 带符号整数:带符号8位整数、带符号16位整数、带符号32位整数、带符号64位整数
    • 带符号8位整数数据范围:10000000~01111111(- 2 7 2^7 27~ 2 7 2^7 27-1)

MATLAB提供了数据类型转换函数来实现数据类型的转换,类如uint8函数将数值数据转换为无符号8位整数,int8函数将数值数据转换为带符号8位整数。

>>int8(129)  % int8最大值为127ans =int8127>>uint8(129)  % uint8最大值为255ans =uint8129

浮点型

浮点型数据分为单精度型和双精度类型,单精度型实数在内存中占用4字节,而双精度型实数在内存中占用8个字节,所以双精度型的数据精度更高。

  • single函数:将其他类型的数据转换为单精度型。
  • double函数:将其他类型的数据转换为双精度型。

class函数可以得到参数的数据类型

>>class(4)
ans =double
>>class(single(4))
ans =single

复数型

复数型数据包括实部和虚部两个部分,实部和虚部默认为双精度型,虚数单位用i或j来表示。

>>6+5i
ans =6.0000+5.0000i
>>6+5j
ans =6.0000+5.0000i
1 | real() %求复数的实部
2 | imag() %求复数的虚部

A.b数值数据的输出格式(format)

1 | format 格式符   % 设置数据的输出格式  
>>format long
>>50/3
ans =16.666666666666668
>>format
>>50/3
ans =16.6667

不同的格式符输出不同的数据格式。
注意:format命令只是影响数据输出的格式,而不影响数据的计算和存储。

A.c常用数学函数

A.c.a函数的调用格式

1 | 函数名(函数自变量的值)

函数的自变量规定为矩阵变量(标量本身是矩阵的一种特例)。
函数在运算时是将函数逐项作用与矩阵的每个元素上,所以最后运算的结果就是一个与自变量同型的矩阵。

>>A=[pi/6,pi;-pi/6,-pi]A =0.5236    3.1416-0.5236   -3.1416
>>sin(A)ans =0.5000    0.0000-0.5000   -0.0000

A.c.b常用函数的应用(sin,sind;abs;取整)

  • 三角函数有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”,以示区别。
>>sin(pi/2)ans =1>>sind(90)ans =1
  • abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。
>> abs(-4)ans =4>> abs(3+4i)ans =5>> abs('a')ans =97
  • 用于取整的函数有fix、floor、ceil、round。
    • round函数按照四舍五入的规则取整。
    • ceil函数是向上取整,取大于等于这个数的第一个整数。
    • floor函数是向下取整,取小于等于这个数的第一个整数。
    • fix函数是固定取靠近0的那个整数,即舍去小数取整。
>> round(4.7)ans =5>> floor(3.6)ans =3>> ceil(-3.2)ans =-3>> ceil(-3.8)ans =-3
1 | rem(m,n)    %求m/n的余数
  • 函数应用举例。
    • 分别求一个三位正整数的个位数字、十位数字和百位数字。

    一个三位正整数除以10的余数就是该数的个位数字。
    一个三位正整数除以10取整后就去掉了这个数的个位数字,将新得到的数再除以10取余数,余数就是新得到的数的个位数字,也就是原数的十位数字。
    一个三位正整数除以100取证后就去掉了这个数的个位数字和十位数字,得到百位数字。

>> m=345;
>> m1=rem(m,10)m1 =5>> m2=rem(fix(m/10),10)m2 =4>> m3=fix(m/100)m3 =3
1 | isprime(n)   # 判断n是否是素数,是返回1,否返回0.
  • 求[1,100]区间的所有的素数。
>> x=1:100;       %1到100整数组成的向量
>> k=isprime(x);  %判断x中元素是否为素数,是为1,否为0
>> k1=find(k);    %find得到k中所有1的索引
>> p=x(k1)        %x中的素数p =列 1 至 162     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53列 17 至 2559    61    67    71    73    79    83    89    97


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部