完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。Matlab主要数据类型的结构图如下所失:
浮点 浮点数:REALMAX('double')和REALMAX('single')分别返回双精度浮点和单精度浮点的最大值,REALMIN('double')和REALMIN ('single')分别返回双精度浮点和单精度浮点的最小值。 逻辑 Logical:下例是逻辑索引在矩阵操作中的应用,将5*5矩阵中大于0.5的元素设定为0: 字符 Matlab中的输入字符需使用单引号。字符串存储为字符数组,每个元素占用一个ASCII字符。如日期字符:实际上是一个1行9列向量。构成矩阵或向量的行字符串长度必须相同。可以使用char函数构建字符数组,使用strcat函数连接字符。 例如,命令 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’) 常用的字符操作函数
日期和时间 Matlab提供三种日期格式:日期字符串如,日期序列数如729300(为1)以及日期向量如 1996 10 2 0 0 0,依次为年月日时分秒。 常用的日期操作函数
结构 构建结构数组:赋值方法 patient.name = 'John Doe'; name: 'John Doe' 继续赋值可扩展该结构数组: patient(2).name = 'Ann Lane'; 函数基本形式为:strArray = struct('field1',val1,'field2',val2, ...) 例如: weather(1) = struct('temp', 72,'rainfall', 0.0); weather(2) = struct('temp', 71,'rainfall', 0.1); 访问结构数据 以下都是合法的结构数组访问命令: mypatients = patient(1:2) 获取子结构数据 使用结构字段的动态名称 通过structName.(expression)可以赋予结构字段名称并访问数据。例如字段名为expression、结构名为structName,访问其中第7行1至25列数据可以使用命令:structName.(expression)(7,1:25)。 例如,存在一个学生每周成绩数据结构数组,其数据通过以下方式建立: testscores.wang.week(1:25) = ... testscores.chen.week(1:25) = ... 即结构名为testscores,字段使用每个学生的名称命名,分别为wang和chen,每个学生下面包含名为week的成绩结构数组。 现计算给定结构名称、学生名称和起止周数的平均分数。 function avg = avgscore(struct,student, first, last) 在命名窗口中输入: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]}; 上述命令创建2*2的单元格数组A。继续添加单元格元素直接使用赋值如A(2,3)={5}即可,注意需使用花括号标识。简化的方法是结合使用花括号(单元格数组)和方括号()创建,如C = {[1 2], [3 4]; [5 6], [7 8]}; 构建单元格数组:函数方法 Cell函数。如:
通过索引可直接访问单元格数组中的数据元素,例如: N{1,1} = [1 2; 4 5]; c = N{1,2} 函数句柄 函数句柄是用于间接调用一个函数的Matlab值或数据类型。在调用其它函数时可以传递函数句柄,也可在数据结构中保存函数句柄备用。通过命令形式 fhandle = @functionname 可以创建函数句柄,例如 ,或匿名函数sqr = @(x) x.^2;。 使用句柄调用函数的形式是 fhandle(arg1, arg2, ..., argn) 或 fhandle()(无参数)。如: function x = plotFHandle(fhandle, data) plotFHandle(@sin, -pi:0.01:pi) |
|
相关推荐 |
|
1533 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
1817 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
2634 浏览 0 评论
2970 浏览 0 评论
4094 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 16:31 , Processed in 0.572692 second(s), Total 42, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号