MATLAB学习笔记6

Matlab学习笔记 Day6

注:仅供学习使用,部分内容来自学校课程课件或网络,理性探讨。

1.字符串(help strings命令)
MATLAB中的字符串常量是用单引号括起来的,它实际上是一个行向量(字符型数组)。每个元素是一个字符,在内存中实际存储的是其ASCII码值,元素的标识方法和数值向量相同。

2.常用字符串函数 help strfun命令
(1)获取字符串基本信息
disp(x)/display(x):显示变量x的内容
class(x):以字符串的形式返回变量x的类型名
ischar(x):如果x是一个字符串则返回1,否则反回0
length(x):若x为字符串,则返回x的长度
isletter(x):逐个检查x每个元素是否为字母
isspace(x):逐个检查x的每个元素是否为空格

案例分析:

>> strA = 'Xiao Mu';
>> disp(strA),class(strA),ischar(strA),...
length(strA),isletter(strA),isspace(strA)
Xiao Mu

ans =

    'char'


ans =

  logical

   1


ans =

     7


ans =

  1×7 logical array

   1   1   1   1   0   1   1


ans =

  1×7 logical array

   0   0   0   0   1   0   0

(2)字符串的基本操作(一些常见操作)
strcat(s1,s2,…,sn):连接字符串,得到新字符串
strvcat(t1,t2,…,tn):垂直连接字符串,得到字符串矩阵
strmatch(S1,S2):逐行搜索字符串矩阵s2,给出以s1开头的行号
findstr(s1,s2):查找s1在s2中出现的位置
strfind(s1,s2):在s1中查找s2出现的位置
strrep(s1,s2,s3):把字符串s1的所有出现s2的地方替换为s3
strtok(s):查找字符串S的第一个间隔符前的内容
blanks(n):生成含有n个空格的字符串
deblank(s):返回删除字符串S尾部空格得到的字符串

3.字符串比较函数
strcmp(S1,S2):比较字符串是否相等,相等返回1,反之0;
strcmpi(s1,s2):忽略大小写比较字符串是否相等。
strncmp(s1,s2,n):比较两个字符串前n个字符是否相等。
strncmpi(s1,s2,n):忽略大小写比较字符串s1和s2前n个字符是否相等

4.字符串转换函数
upper(A): 把字符串A中所有小写字母转换为大写字母
lower(A):把字符串A中所有大写字母转换为小写字母
double(x):把字符串x转换为double型数组(ASCII码)
char(X):把ASCII码转换为字符串
int2str(x):把整数x转换为字符串
num2str(X):将数值x转换为字符串
str=mat2str(MAT):将数值矩阵转换为字符串形式
eval(expstr):执行字符串

5.字符串生成函数
str=sprintf(format,data1,…datan)
按第一个输入参数format的指定格式,输出变量,将输出的内容作为字符串S。

>> str=sprintf('The value of pi is %8.6f',pi)

str =

    'The value of pi is 3.141593'

6.元胞数组
在一个元胞数组的不同元胞中可以存放不同类型、不同长度的数据。

(1)元胞数组的建立与显示
直接输入整个元胞数组:

>> s={'north','east','south','west'};
>> a={'this is the first example',hadamard(2);ones(3),s}

a =

  2×2 cell array

    {'this is the first example'}    {2×2 double}
    {3×3 double                 }    {1×4 cell  }

(2)元胞与元胞中内容的标识与显示
元胞数组维数不受限制;元胞数组对元胞编址的方法也有单下标和全下标;“元胞”和“元胞中的内容”是两个不同的范畴,例如a(1,2)指的是元胞数组a中第一行第二列的胞元素(类似于存放物品的格子及内容物),而a{1,2}是元胞数组a中第一行第二列元胞中的内容(仅是格子中存放的内容物)。

(3)通过元素赋值法创建元胞数组

>> A{1}='This is the first string';
A{2}='This is the second string';
A{3}=rand(3);
>> A

A =

  1×3 cell array

    {'This is the fir…'}    {'This is the sec…'}    {3×3 double}

元胞数组的显示函数有:
celldisp( C ):显示元胞数组C的所有内容
cellplot( C ):以嵌套的格子的形式显示元胞数组C有元素的结构

仍然以上述A为例

>> celldisp(A)
 
A{1} =
 
This is the first string
 
 
A{2} =
 
This is the second string
 
 
A{3} =
 
    0.8147    0.9134    0.2785
    0.9058    0.6324    0.5469
    0.1270    0.0975    0.9575
 >> cellplot(A)
 (弹窗)

在这里插入图片描述

(4)cell函数
建议先采用cell函数创建空的元胞数组,然后再对元胞元素的元素赋值。
A=cell(N) 创建空的NXN的元胞数组
A=cell(M,N)或A=cell([M,N]) 创建空的MXN的元胞数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值