matlab里cell和char,字符串与字符数组_matlab cell2char-程序员宅基地

技术标签: MATLAB  

转载自:http://blog.sina.com.cn/s/blog_6a388c8f01015n04.html


用importdata和textscan读取内容为字符串的txt,结果为cell型元胞组。

我想把cell变成char型,然后就自然地想到cell2str,遗憾的是matlab中没有这个函数。

就像没有str2cell一样。

实现str2cell功能的函数是cellstr,将字符数组转换为cell型字符串数组

函数语法为c = cellstr(S)

它的作用是:将字符数组S中的每行分割成为cell细胞元组C的一个元素。并删除S的每行尾部空格

正好与char相反,char是将cell字符串数组转化为字符数组s=char(c)

 

 

很多人分不开字符数组和字符串什么区别。
>>str1='i love matlab' % 这是一个字符数组,也是一个字符串
str1 =
i love matlab

>>str2=['I ';'am ';'a ';'boy'];% 这是字符数组,由于是数组,所以每一行必须具有相同的列数(字符数相同),不够补空格
str2 =
I
am
a
boy

由于字符数组必须满足每一行具有相同的字符数,所以输入时很麻烦。通常情况我们使用char函数来完成自动补充空格或者创建字符串cell细胞元组
>>char('i','love','matlab') % char函数会自动补充空格
ans =
i
love
matlab

>>{'i','love','matlab'} % 在cell字符串中,每个单元都可以完全不同的内容,所以,不需要补充空格
ans =
'i' 'love' 'matlab'

 


下面来看几个例子:

例1:创建一个字符串数组,记住补空格
>>S= ['abc '; 'defg'; 'hi  '] (下划线代表空格)
S =
abc
defg
hi

>>whos S
Name Size Bytes Class
   3x4  24    char array

例2:下面使用cellstr将字符数组,转换为3*1的cell细胞元组,此时尾部空格会自动删除 :
>>c = cellstr(S)
c =
'abc'
'defg'
'hi'

>>whos c
Name Size Bytes Class
   3x1  294   cell array

例3:再使用char函数将cell字符串转换为字符数组
>>char(c)
ans =
abc
defg
hi

>> whos ans
Name Size Bytes Class Attributes
ans  3x4  24    char


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liyanzhong/article/details/46812909

智能推荐

mysql5.7 geometry算法_MySQL-程序员宅基地

文章浏览阅读290次。19.2.1.Geometry类的层次几何类定义了下述层次:·Geometry(非实例化)oPoint(可实例化的)oCurve(非实例化)§LineString(可实例化的)·Line·LinearRingoSurface(非实例化)§Polygon(可实例化的)oGeometryCollection(可实例化的)§MultiPoint(可实例化的)§MultiCurve(非实例化)·Mult..._mysql5.7中定义geometry字段时指定srid参考系

SLAM前端 ---------特征提取之ORB(ORB与SIFT与SURF)_orb 轮廓定位-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏11次。1.ORB特征简介ORB是Oriented FAST and Rotated BRIEF(oFAST and rBRIEF)的简称,ORB的名字已经说明了其来源,其实ORB特征是采用FAST方法来检测提取特征,但FAST特征本身是不具有方向性的,所以在ORB特征中添加对特征方向的计算;另外,ORB采用BRIEF方法计算特征描述子,BRIEF的优点在于速度,但是缺点也很明显:不具备旋转不变性,对噪..._orb 轮廓定位

Mysql断流_彻底解决ROS网页断流问题-程序员宅基地

文章浏览阅读210次。首先,检查你的ROS,确定他本身没有任何问题。然后,打开你的WINBOX登陆进去,打开防火墙规则,IP-FIREWALL-CONNECTIONS-TRACKING好了。打开TRACKING后,将里面的时间设置稍微大点。具体多大,没有确切数字,不过一定要大。最少也得30秒以上。你按照里面的默认,成倍数增加,慢慢试。下面是我自己的设置。已经没有问题了,具体什么原因,慢慢去体会。这个设置不是固定的。因为..._ros wan口断流

To display the conditions report re-run your application with 'debug' enabled.问题解决方案-程序员宅基地

文章浏览阅读8.2w次,点赞17次,收藏77次。问题描述:Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.或者:The Tomcat connector configured to listen on port 7001 failed to start. The po..._to display the conditions report re-run your application with 'debug' enable

数字经济新生态,中小企业如何发展营销数字化-程序员宅基地

文章浏览阅读233次。在新经济发展态势下,#中小企业数字化转型#是大势所趋!

python 结束进程 terminate_【Python】multiprocessing.Process.terminate()结束子进程将导致子进程无法执行finally块,如何解决?...-程序员宅基地

文章浏览阅读2.2k次。我在使用multiprocessing库创建进程的时候,发现了这么一个问题:https://docs.python.org/3.5/library/multiprocessing.html#multiprocessing.Process中对于terminate函数的文档中说:Note that exit handlers and finally clauses, etc., will not be..._process.terminate()

随便推点

CentOS-消除未被及时释放的TIME_WAIT状态的TCP连接_centos连接不释放-程序员宅基地

文章浏览阅读6.8k次。CentOS_消除未被及时释放的TIME_WAIT状态的TCP连接如发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,vim /etc/sysctl.conf编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_..._centos连接不释放

[附源码]JAVA毕业设计家政服务网站(系统+LW)_家政服务网站毕设-程序员宅基地

文章浏览阅读233次。[附源码]JAVA毕业设计家政服务网站(系统+LW)目运行环境项配置:Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:JAVA + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,E_家政服务网站毕设

ZStack实践汇 | ZStack部署实战之VDI异构部署-程序员宅基地

文章浏览阅读486次。近百位大V支持的“首届ZStack社区征文”已经完美结束啦~上周我们和大家一起分享了王业建的选型经历,这次给大家带来的是来自ZStack社区蒋克勤的VDI异构部署。想要了解更多技术干货请..._zstack 落地部署方案

list、map、set遍历方法总结_便利map,list,set方法-程序员宅基地

文章浏览阅读119次。目录list遍历方法map遍历方法set遍历方法list遍历方法1:该方法有缺陷,当遍历的过程中需要删除或者添加元素,则该遍历方法有问题(此时需要使用迭代器)private void testList(List<String> list) { for (int i = 0; i < list.size(); i ++) { S..._便利map,list,set方法

【Git系列】Git配置SSH免密登录-程序员宅基地

文章浏览阅读2.8k次。在以上push操作过程中,我们第一次push时,是需要进行录入用户名和密码的,比较麻烦。而且我们使用的是https连接方式,在真正工作中我们使用的是SSH连接方式,SSH连接方式要比https方式更安全。登录github,打开setting配置,在设置界面选择。再使用免密登录,此时我们push可以一下命令即可。这里以github为例子。已经设置的可以检查一下。_git配置ssh免密登录

strace,ltrace linux下跟踪进程调用的命令-程序员宅基地

文章浏览阅读113次。转载自:http://hi.baidu.com/ostech/blog/item/b600c901d742987b3812bb0b.html本工具可以用来做大多数排除,比如mount一个NFS,很慢,找不出原因,我们可以使用strace命令来跟中mount这个经常所有的调用过程。strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。  stra..._strace命令,ltrace命令是用来跟踪进程