matlab怎么看数据类型(matlab查看变量类型大小的命令)

今天给各位分享matlab怎么看数据类型的知识,其中也会对matlab查看变量类型大小的命令进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Matlab里的数据类型

在Matlab里一共有四大类数据类型:

1、数值类型 2、逻辑类型 3、字符和字符串类型 4、结构体类型

这四大类数据类型的存储都是用矩阵来存储的.

数值类型有五种:整数、浮点数、复数、Inf、NaN.

整数就是字面意思,

浮点数就是小数,

复数如:4+3i,

Inf和-Inf 表示正无穷和负无穷

NaN(not a number):表示一个既不是实数也不是复数的值

特别的matlab中复数的调用函数为complex:

如下:

复数除了用complex构造之外,也可以直接,如:z=3+4i ****(3与i之间不能有空格)

Matlab中的逻辑类型有true和false,分别由1和0来表示

函数logical()可以将任何非零的数值转化为true,将数值0转化为false

也就是说只有数值为0时的逻辑值是false,为0

只要数值不为0时的逻辑值就是true,为1

在Matlab中,数据类型(char)表示一个字符。一个char类型的1×n数组称为字符串string.

字符无单引号括出来,而字符串带单引号括出来

4、结构体类型

结构体类型其实就是混合型,它其中的组成部分可以是以上我们所讲的任意数据类型

MatLab数据结构

MatLab数据类型主要分为 逻辑类型 、 数值类型 、 字符类型 、 结构类型 、 单元数组 、 函数句柄 、 映射容器 和 表格类型 。

【注】详细说明请善用MatLab中的 help xxx

MatLab创建逻辑矩阵格式:

其中,A为矩阵。对于A中任意非零元素都将转换为逻辑 1,零元素则转换为逻辑 0。

【注】复数值和NaN不能转换为逻辑值。

【注】

MatLab 中的字符/字符串是存储在行向量中的文本,该行向量中的每一个元素代表一个字符。每个字符的值对应其所对应的 ASCII 码值,故字符串是 ASCII 值的数值数组,访问方式同 MatLab 中的数组。

MatLab 中的 结构类型 与 C 语言类似,一个结构可以通过字段存储多个不同类型的数据。

单元数组是一种广义矩阵,每个单元可以包括一个任意数组或另一个单元数组,故每一个单元可以具有不同的尺寸和内存占用空间。

创建函数句柄需要使用到操作符 @ ,使用函数句柄可以实现对函数的间接调用。

创建函数句柄的一般语法格式:

其中, @ 是句柄创建操作符,Function_Handle 变量保存了该函数句柄,Function_Filename 是函数对应的 .M 文件或 MatLab 内部函数名。

函数句柄创建后就可以通过函数句柄来调用函数:

MatLab 库函数提供了许多处理函数句柄的操作函数,将函数句柄的功能与其他数据类型联系起来,扩展了函数句柄的应用。

映射容器(Map对象)可以将一个量映射到另一个量,构成一个 键值 对。映射容器是一种快速键查找的数据结构。

映射容器是Map类的对象,而Map类的所有对象都具有 3 种属性。

Map对象查看属性直接利用 . 运算符: mapObj.Count 、 mapObj.KeyType 、 mapObj.ValueType

表格类型(table)是一种可以包含不同类型数据的表数组。table数组存储列向数据或表格数据,表将每一段列向数据存储在一个变量中,表变量可以具有不同的数据类型和大小,但要求所有变量具有相同的行数。

MATLAB中变量的基本数据类型是什么?

Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。Matlab主要数据类型的结构图如下所失:

1.整型

整型:通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127

2.浮点

浮点数:REALMAX('double')和REALMAX('single')分别返回双精度浮点和单精度浮点的最大值,REALMIN('double')和REALMIN ('single')分别返回双精度浮点和单精度浮点的最小值。

3.逻辑

Logical:下例是逻辑索引在矩阵操作中的应用,将5*5矩阵中大于0.5的元素设定为0:

A = rand(5);

A(A0.5)=0

4.字符

Matlab中的输入字符需使用单引号。字符串存储为字符数组,每个元素占用一个ASCII字符。如日期字符:DateString=’9/16/2001’ 实际上是一个1行9列向量。构成矩阵或向量的行字符串长度必须相同。可以使用char函数构建字符数组,使用strcat函数连接字符。

例如,命令 name = ['abc' ; 'abcd'] 将触发错误警告,因为两个字符串的长度不等,此时可以通过空字符凑齐如:name = ['abc ' ; 'abcd'],更简单的办法是使用char函数:char(‘abc’,’abcd’),Matlab自动填充空字符以使长度相等,因此字符串矩阵的列纬总是等于最长字符串的字符数,例如size(char(‘abc’,’abcd’))返回结果[2,4],即字符串’abc’实际存在的是’abc ’,此时如需提取矩阵中的某一字符元素,需要使用deblank函数移除空格如name =char(‘abc’,’abcd’); deblank(name(1,:))。此外,Matlab同时提供一种更灵活的单元格数组方法,使用函数cellstr可以将字符串数组转换为单元格数组:

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

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

cdata=cellstr(data)

length(cdata{1})   -?3

常用的字符操作函数

blanks(n)   返回n个空字符

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

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

findstr(s1,s2)  搜索字符串

ischar(s)   判断是否字符串

isletter(s)   判断是否字母

lower(s)   转换小写

upper(s)   转换大写

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

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

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

5.日期和时间

Matlab提供三种日期格式:日期字符串如’1996-10-02’,日期序列数如729300(0000年1月1日为1)以及日期向量如 1996 10 2 0 0 0,依次为年月日时分秒。

常用的日期操作函数

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

datenum(str,f)  将字符串转换为日期数字

datevec(str)  日期字符串转换向量

weekday(d)   计算星期数

eomday(yr,mth)  计算指定月份最后一天

calendar(str)  返回日历矩阵

clock   当前日期和时间的日期向量

date    当前日期字符串

now    当前日期和时间的序列数

6.结构

结构是包含已命名“数据容器”或字段的数组。结构中的字段可以包含任何数据,例如:

构建结构数组:赋值方法

下面的赋值命令产生一个名为patient的结构数组,该数组包含三个字段:

patient.name = 'John Doe';

patient.billing = 127.00;

patient.test = [79 75 73; 180 178 177.5; 220 210 205];

在命令区内输入patient可以查看结构信息:

name: 'John Doe'

billing: 127

test: [3x3 double]

继续赋值可扩展该结构数组:

patient(2).name = 'Ann Lane';

patient(2).billing = 28.50;

patient(2).test = [68 70 68; 118 118 119; 172 170 169];

赋值后结构数组变为[1 2]。

构建结构数组:struct函数

函数基本形式为:strArray = struct('field1',val1,'field2',val2, ...)

例如:

weather(1) = struct('temp', 72,'rainfall', 0.0); weather(2) = struct('temp', 71,'rainfall', 0.1);

weather = repmat(struct('temp', 72, 'rainfall', 0.0), 1, 3);

weather = struct('temp', {68, 80, 72}, 'rainfall', {0.2, 0.4, 0.0});

访问结构数据

以下都是合法的结构数组访问命令:

mypatients = patient(1:2)  获取子结构数据

mypatients(1)    访问结构数据

patient(2).name    访问结构数据中的特定字段

patient(3).test(2,2)   访问结构数据中的特定字段(该字段为数组)

bills = [patient.billing]   访问多个结构

tests = {patient(1:2).test}  提取结构数据转换成单元格数组

使用结构字段的动态名称

通过structName.(expression)可以赋予结构字段名称并访问数据。例如字段名为expression、结构名为structName,访问其中第7行1至25列数据可以使用命令:structName.(expression)(7,1:25)。

例如,存在一个学生每周成绩数据结构数组,其数据通过以下方式建立:

testscores.wang.week(1:25) = ...

[95 89 76 82 79 92 94 92 89 81 75 93 ...

85 84 83 86 85 90 82 82 84 79 96 88 98];

testscores.chen.week(1:25) = ...

[87 80 91 84 99 87 93 87 97 87 82 89 ...

86 82 90 98 75 79 92 84 90 93 84 78 81];

即结构名为testscores,字段使用每个学生的名称命名,分别为wang和chen,每个学生下面包含名为week的成绩结构数组。

现计算给定结构名称、学生名称和起止周数的平均分数。

在命令窗口中输入 edit avgscore.m,输入以下代码后保存文件:

function avg = avgscore(struct,student, first, last)

avg = sum(struct.(student).week(first:last))/(last - first + 1);

在命名窗口中输入:avgscore(testscores, 'chen', 7, 22) 计算学生陈从第7周到第22周的平均分数。

添加和删除结构字段

命令[struct](index).(field)可添加或修改字段。如patient(2).ssn = '000-00-0000' 在结构patient中添加一个名为ssn的字段。

删除字段使用rmfield函数,如patient2 = rmfield(patient, 'name') 删除name字段并产生新的结构。

单元格数组

单元格数组提供了不同类型数据的存储机制,可以储存任意类型和任意纬度的数组。

访问单元格数组的规则和其他数组相同,区别在于需要使用花括号{}访问,例如A{2,5}访问单元格数组A中的第2行第5列单元格。

构建单元格数组:赋值方法

使用花括号标识可直接创建单元格数组,如:

A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};

A(1,2) = {'abcd'};

A(2,1) = {3+7i};

A(2,2) = {-pi:pi/10:pi};

上述命令创建2*2的单元格数组A。继续添加单元格元素直接使用赋值如A(2,3)={5}即可,注意需使用花括号标识。简化的方法是结合使用花括号(单元格数组)和方括号()创建,如C = {[1 2], [3 4]; [5 6], [7 8]};

构建单元格数组:函数方法

Cell函数。如:

B = cell(2, 3);

B(1,3) = {1:3};

访问数据

通过索引可直接访问单元格数组中的数据元素,例如:

N{1,1} = [1 2; 4 5];

N{1,2} = 'Name';

N{2,1} = 2-4i;

N{2,2} = 7;

c = N{1,2}

d = N{1,1}(2,2)

函数句柄

函数句柄是用于间接调用一个函数的Matlab值或数据类型。在调用其它函数时可以传递函数句柄,也可在数据结构中保存函数句柄备用。通过命令形式 fhandle = @functionname 可以创建函数句柄,例如 trigFun=@sin,或匿名函数sqr = @(x) x.^2;。

使用句柄调用函数的形式是 fhandle(arg1, arg2, ..., argn) 或 fhandle()(无参数)。如:

trigFun(1)。例:

function x = plotFHandle(fhandle, data)

plot(data, fhandle(data))

plotFHandle(@sin, -pi:0.01:pi)

matlab怎么看数据类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于matlab查看变量类型大小的命令、matlab怎么看数据类型的信息别忘了在本站进行查找喔。

1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » matlab怎么看数据类型(matlab查看变量类型大小的命令)
您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论