MATLAB-1-2数值数据

1. 数值数据类型分类

整型、浮点型、复型

1)整型

  • 无符号整数:uint8,uint16,uint32,uint64
  • 带符号整数:int8,int16,int32,int64
  • 无符号8位整数数据范围:00000000-11111111(0~ 2 8 − 1 2^8-1 281
  • 带符号8位整数数据范围:10000000-01111111( − 2 7 -2^7 27~ 2 7 − 1 2^7-1 271
    %0表示整数,1表示负数
  • 数值数据类型转换函数
>> x=int8(129)   %有符号8位整型数据最大值为127,只能转换为最大值
x =
  int8
   127
>> x=uint8(129)  %无符号8位整型数据最大值为255
x =
  uint8
  129

2)浮点型

单精度型,内存中占4个字节
双精度型,内存中占8个字节,默认类型
single( )函数:将其它类型数据转换为单精度型
double( )函数:将其它类型数据转换为双精度型

>> class(4)   %class( )查看数据类型
ans =
    'double'   %数值数据默认类型
>> class(single(4))
ans =
    'single'

3)复型

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

>> 6+5i                
ans =
   6.0000 + 5.0000i
>> 6+5j
ans =
   6.0000 + 5.0000i   %上述两个复数相同

real( )函数:求复数的实部
imag( )函数:求复数的虚部
另:3+4i与3+4*i
当i无具体值时,上述二者都表示复数,i为虚数符号
当i有具体值时,前者表示复数,后者表示整数

2. 设置数值数据输出格式

format命令格式:
format 格式符
format只影响数据输出格式,不影响数据的计算和存储

>> format long
>> 50/3
ans =
  16.666666666666668
>> format
>> 50/3
ans =
  16.6667

3. 常用数学函数

1)函数参数

调用格式:函数名(自变量)

  • 函数的自变量规定为矩阵变量,也可以是标量(只有数值大小,没有方向,部分有正负之分),标量本身是矩阵的一种特例。
  • 函数在运算时,是将函数逐项作用于矩阵的每个元素上,所以运算结果是与自变量同型的矩阵。
>> A=[4,2;3,6]
A =
     4     2
     3     6
>> B=exp(A)   %exp( ) 自然指数
B =
   54.5982    7.3891
   20.0855  403.4288
%B中的每一个元素都是A中对应元素经函数变换而来

2)常用函数

i. 三角函数

有以弧度为单位的函数和以角度为单位的函数。若是以角度为单位的函数,则在函数名后加‘d’,以示区别。

>> sin(pi/2)
ans =
     1
>> sind(90)
ans =
     1

ii. abs( )函数

可以求实数的绝对值、复数的模、字符串的ASCII码值

>> abs(-4)
ans =
     4
>> abs(4-3i)
ans =
     5
>> abs('a')
ans =
    97
>> abs('A')
ans =
    65     %大写字母的ASCII码值比对应小写字母小32

iii. 取整函数

round( ):四舍五入规则取整
ceil( ):向上取整,取大于等于这个数的第一个整数
floor( ):向下取值,取小于等于这个数的第一个整数
fix( ):固定取靠近0的整数,即舍去小数取整

>> fix(-2.3)
ans =
    -2
>> floor(2.3)
ans =
     2
>> ceil(2.3)
ans =
     3
>> round(2.3)
ans =
     2

3. 函数应用举例

e.g.1分别求一个三位正整数的个位数字、十位数字和百位数字。

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

>> m=345;
>> m1=rem(m,10)    %rem( ) 取余,或mod( )
m1 =
     5
>> m2=rem(fix(m/10),10)  %取整后取余
m2 =
     4
>> m3=fix(m/100)
m3 =
     3

e.g.2求[1,100]区间的所有素数。

isprime(n)判断n是否为素数,n为素数返回1,否则返回0

>> x=1:100;      %生成1-100区间内整数组成的向量x
>> k=isprime(x); %生成k向量,向量元素为1或0
>> k1=find(k);   %k向量中非0元素序号赋值给k1向量,即素数序号
>> p=x(k1)       %输出x中的素数
p =
  1 至 16 列
    2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53
  17 至 25 列
    59    61    67    71    73    79    83    89    97
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值