admin 管理员组

文章数量: 1184232


2024年3月27日发(作者:计算机二级web程序设计考什么)

Matlab数据类型及转换

000

Matlab数据类型及转换 (2011-05-16 15:10:59)转载▼

000

000

标签: 杂谈 分类: 备忘录

Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、

日期和时间、结构数组、单元格数组以及函数句柄等。

000

1、整型:(int8;uint8;int16;uint16;int32;uint32;

int64;uint64)通过intmax(class)和intmin(class) 函数返回该

类整型的最大值和最小值,例如intmax(‘int8’)=127;

000

000

2、浮点:(single;double)

浮点数:REALMAX('double')和REALMAX('single')分别返回双精度

浮点和单精度浮点的最大值,REALMIN('double')和REALMIN

('single')分别返回双精度浮点和单精度浮点的最小值。

000

000

3、逻辑:(logical)

Logical:下例是逻辑索引在矩阵操作中的应用,将5*5矩阵中大于

0.5的元素设定为0:

A = rand(5);

4、字符:(char)

A(A>0.5)=0;

000

000

000

000

Matlab中的输入字符需使用单引号。字符串存储为字符数组,每个

元素占用一个ASCII字符。如日期字符:DateString=’9/16/2001’

实际上是一个1行9列向量。构成矩阵或向量的行字符串长度必须相

同。可以使用char函数构建字符数组,使用strcat函数连接字符。

000

例如,命令 name = ['abc' ; 'abcd'] 将触发错误警告,因为两个

字符串的长度不等,此时可以通过空字符凑齐如:name = ['abc ' ;

'abcd'],更简单的办法是使用char函数:char(‘abc’,’abcd’),

Matlab自动填充空字符以使长度相等,因此字符串矩阵的列纬总是

等于最长字符串的字符数.

000

例如size(char(‘abc’,’abcd’))返回结果[2,4],即字符

串’abc’实际存在的是’abc ’,此时如需提取矩阵中的某一字符

元素,需要使用deblank函数移除空格如name

=char(‘abc’,’abcd’); deblank(name(1,:))。

cellstr可以将字符串数组转换为单元格数组:

data= char(‘abc’,’abcd’)

cdata=cellstr(data)

常用的字符操作函数

length(data(1,:)) ->? 4

length(cdata{1}) ->?3

blanks(n) 返回n个空字符

000

此外,Matlab同时提供一种更灵活的单元格数组方法,使用函数

000

000

000

000

000

000

000

000

deblank(s) 移除字符串尾部包含的空字符

(string) 将字符串作为命令执行

findstr(s1,s2) 搜索字符串

ischar(s) 判断是否字符串

lower(s) 转换小写

upper(s) 转换大写

isletter(s) 判断是否字母

000

000

000

000

000

000

000

strcmp(s1,s2) 比较字符串是否相同

000

strncmp(s1,s2,n) 比较字符串中的前n个字符是否相同

strrep(s1,s2,s3) 将s1中的字符s2替换为s3

000

000

5、日期和时间

Matlab提供三种日期格式:日期字符串如’1996-10-02’,日期序

列数如729300(0000年1月1日为1)以及日期向量如 1996 10 2 0

0 0,依次为年月日时分秒。

常用的日期操作函数

000

000

000

datestr(d,f) 将日期数字转换为字符串


本文标签: 字符串 字符 数组 函数 使用