Matlab中的数值数据类型和常用数学函数

Matlab数值数据类型的分类

class函数:查看数值的数据类型
1. 整型
Matlab提供了数据类型转换函数来实现数据类型的转换,例如,uint8函数将数值数据转换为无符号8位整数,int8函数将数值数据转换为带符号8位整数。

>> x=int8(95.6)
x =
  int8
  
   96

2. 浮点型
single函数:将其他类型的数据转换为单精度型。
double函数:将其他类型的数据转换为双精度型。
数值数据默认是双精度型。

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

3. 复型
复型数据包括实部和虚部两个部分,实部和虚部默认为双精度型虚数单位用 i 或 j 来表示
real函数:求复数的实部
imag函数:求复数的虚部

>> x=6+5i
x =
   6.0000 + 5.0000i
>> y=real(x)
y =
     6
>> y=imag(x)
y =
     5

数值数据的输出格式

format命令的格式:只影响数据的输出格式

>> format long   //后面的数据输出格式都是long型
>> 50/3
ans =
  16.666666666666668
>> 50/6
ans =
   8.333333333333334
>> format      //后面的数据输出格式都是默认的double型
>> x=50/3
x =
   16.6667

数学函数

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

>> A=[4,2;3,6]     //创建一个矩阵,分号;为间隔表示下一行
A =
     4     2
     3     6   //矩阵A
>> B=exp(A)   //对矩阵A调用exp函数赋给矩阵B
B =               e^A   逐个元素运算
   54.5982    7.3891
   20.0855  403.4288

1. 三角函数
三角函数有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”,以示区别。

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

2.abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。

>> abs(-4)
ans =
     4
>> abs(3+4j)
ans =
     5
>> abs('a')
ans =
    97

3. 用于取整的函数有fix、floor、ceil、 round。
round函数按照四舍五入的规则取整。
ceil函数是向上取整,取大于等于这个数的第一个整数。
floor函数是向下取整,取小于等于这个数的第一个整数。
fⅸ函数是固定取靠近0的那个整数,即舍去小数取整。

>> round(4.7)
ans =
     5
>> fix(-3.2)
ans =
    -3
>> floor(3.6)
ans =
     3
>> ceil(-3.8)
ans =
    -3

例1:用Matlab实现求一个三位正整数的个位数字、十位数字和百位数字。
求余可以用rem函数或者mod函数

>> m=345;     //加一个分号; 可以不输出该行的结果,与下面的一行视作一行处理。
>> m1=rem(m,10)
m1 =
     5
>> m2=rem(fix(m/10),10)
m2 =
     4
>> m3=fix(m/100)
m3 =
     3
>> 

例2:用Matlab实现求区间1到100之间的所有素数。
Matlab提供了一个判断n是否素数的函数isprime(n)(当n是素数时返回1,否则返回0。

>> x=1:100;     //类似于linux,x依次等于1到100之间连续的整数。
>> k=isprime(x);
>> k1=find(k);  //find()函数的基本功能是返回向量或者矩阵中不为0的元素的位置索引。
>> p=x(k1);     //x(k1)类似于数组,k1是对应素数的下标
>> p            //提示:如果不要这一行和上面一行是同样的结果
p =
  1 至 14 列
     2     3     5     7    11    13    17    19    23    29    31    37    41    43
     
  15 至 25 列
    47    53    59    61    67    71    73    79    83    89    97
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值