全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
41319 1
2014-06-05
       MATLAB是用来进行数值运算的,不像Python那样精通于字符串。但是用MATLAB还是可以完成不少字符串的操作。本人在使用matlab的过程中,头疼的不是数字,而是字符串,不太会处理。从网上找到一个教程,教如何在MATLAB中操作字符串,跟大家分享一下。
       在MATLAB中输入字符串,肯定是要以  ‘  作为开头,以  ’   结尾。例如输入
       StringVariable='hello China';
       如果所需要输入的字符串本身包含了 ‘ , 则需输入两次,以免系统出现错误,例如
       StringVariable='hello China, it''s wonderful';
       在Matlab中,每一个字符串也是一个阵列(array),阵列就有大小,如果要查看之前定义的变量StringVariable这个字符串的大小,可以输入:
       >>size(StringVariable)
       ans=
              1    27
       也就是说这个字符串中共有27个字符。如果要替换这个字符串中的字符,比如第10个,可以输入:
       >>StringVariable(1,10)='s'
       StringVariable =
       hello Chisa, it's wonderful
       以上的字符串是一维的,也可以将它变为二维的,可以直接定义:
       >>StringVariable(2,10)='s'
       StringVariable =

       hello Chisa, it's wonderful
                   s                 
       可以看出,不同的维度可以储存不同的字符串,但是用这种方法储存字符串比较费事。不如用cell。例如如果想要储存“你好”在不同语言中如何表达,可以进行如下的操作:
       Hellolanguage{1}='Hello';
       Hellolanguage{2}='Bonjour';
       Hellolanguage{3}='你好';
       其中 {} 就表示了在cell中的元素。当再次输入
       >>Hellolanguage{3}
       ans =
             你好
       有时候,我们想让两个字符串变为一个字符串。例如合并Hello 和China:
       >>['Hello',' ','China']
       ans =
             Hello China
        要注意的是中间的空格也是一个字符,所以要用 ' ' 包起来。
        将数字转换为字符串,以及将字符串转换为数字也是经常用的操作,相关的命令有 str2num, str2double, sprintf, num2str。例如
        >>x=12;
        >>[num2str(x),' monkeys']
        ans =
              12 monkeys
        原文的作者推荐深入了解sprintf,是将数据转换为string,如果数字很多的话,可以用这个命令。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-12-19 16:46:20
谢谢分分享!!请问可以给出原文链接吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群