许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  表table排序查找提取删除转换Matlab入门短篇34

表table排序查找提取删除转换Matlab入门短篇34

阅读数 2
点赞 0
article_banner


1.表格的统计分析

表的统计分析包括计算均值、方差等,这些参数可以通过函数summary一次计算出来,程序示例如下:

xingming={'zhangsan';'lisi';'wangwu'}; %首先创建表变量

xuehao={'1001';'1002';'1003'};

chengji=[89 95;90 87;88 84];

t=table(xingming,xuehao,chengji)

运行结果:

t =

 3×3 table

     xingming       xuehao     chengji

   ____________    ________    ________

   {'zhangsan'}    {'1001'}    89    95

   {'lisi'    }    {'1002'}    90    87

   {'wangwu'  }    {'1003'}    88    84

summary(t)  %无法统计字符型元胞数组,可以对chengji双精度型进行统计处理(按列统计)

运行结果:

Variables:

   xingming: 3×1 cell array of character vectors

   xuehao: 3×1 cell array of character vectors

   chengji: 3×2 double

       Values:

                     Column 1    Column 2

                     ________    ________

           Min          88          84  

           Median       89          87  

           Max          90          95  

mean(t.chengji)  %字段索引再mean函数(默认维度按列即字段名求均值)

mean(t.chengji,2)  %2表示第2维度即按行求均值

t.pingjunzhi=mean(t.chengji,2)  %使用字段索引并赋值

运行结果:

ans =

  89.0000   88.6667

ans =

  92.0000

  88.5000

  86.0000

t =

 3×4 table

     xingming       xuehao     chengji     pingjunzhi

   ____________    ________    ________    __________

   {'zhangsan'}    {'1001'}    89    95         92  

   {'lisi'    }    {'1002'}    90    87       88.5  

   {'wangwu'  }    {'1003'}    88    84         86  

Matlab入门

2.表的排序、查找、删除

直接看程序示例:

sortrows(t,'xingming')  %按行排序,表格t按字段'xingming’按字母升序

运行结果:

ans =

 3×4 table

     xingming       xuehao     chengji     pingjunzhi

   ____________    ________    ________    __________

   {'lisi'    }    {'1002'}    90    87       88.5  

   {'wangwu'  }    {'1003'}    88    84         86  

   {'zhangsan'}    {'1001'}    89    95         92  

t(:,[1 2 4 3])  %用索引排序:任意行,列将3和4列互换

运行结果:

ans =

 3×4 table

     xingming       xuehao     pingjunzhi    chengji

   ____________    ________    __________    ________

   {'zhangsan'}    {'1001'}         92       89    95

   {'lisi'    }    {'1002'}       88.5       90    87

   {'wangwu'  }    {'1003'}         86       88    84

% t.pingjunzhi=[]  %删除,用字段索引赋空值删除该列

3.提取满足特定条件的数据

tf=t.pingjunzhi>90  %查找平均值大于90的学生信息,返回逻辑值;

t(tf,:)  %使用tf作为逻辑索引,索引表格中符合条件的学生的信息

运行结果:

tf =

 3×1 logical 数组

  1

  0

  0

ans =

 1×4 table

     xingming       xuehao     chengji     pingjunzhi

   ____________    ________    ________    __________

   {'zhangsan'}    {'1001'}    89    95        92    

4.与元胞数组、结构数组的转换

使用相应函数进行处理,与结构数组转换table2struct、struct2table,与元胞数组转换table2cell、cell2table,程序示例如下:

s=table2struct(t)  %表格转换为结构数组后,每一行都变为1个元素,因此是3行1列的结构数组

运行结果:

s =

 包含以下字段的 3×1 struct 数组:

   xingming

   xuehao

   chengji

   pingjunzhi

s(1)  %查看第1个元素的值

运行结果:

ans =

 包含以下字段的 struct:

     xingming: 'zhangsan'

       xuehao: '1001'

      chengji: [89 95]

   pingjunzhi: 92

struct2table(s) %反向转换

运行结果:

ans =

 3×4 table

     xingming       xuehao     chengji     pingjunzhi

   ____________    ________    ________    __________

   {'zhangsan'}    {'1001'}    89    95         92  

   {'lisi'    }    {'1002'}    90    87       88.5  

   {'wangwu'  }    {'1003'}    88    84         86  

c=table2cell(t)  %表格转换为元胞数组后,变量名称消失,变量值转换为元胞数组,其中多列的双精度值会自动拆分为多个单列表示

运行结果:

c =

 3×4 cell 数组

   {'zhangsan'}    {'1001'}    {[89 95]}    {[     92]}

   {'lisi'    }    {'1002'}    {[90 87]}    {[88.5000]}

   {'wangwu'  }    {'1003'}    {[88 84]}    {[     86]}

cell2table(c)  %反向转换

运行结果:

ans =

 3×4 table

        c1            c2          c3        c4

   ____________    ________    ________    ____

   {'zhangsan'}    {'1001'}    89    95      92

   {'lisi'    }    {'1002'}    90    87    88.5

   {'wangwu'  }    {'1003'}    88    84      86



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空