相关文章推荐
急躁的甜瓜  ·  Exchange Server 2013 ...·  1 年前    · 
行走的消防车  ·  Unity基础(06)—— ...·  2 年前    · 
成熟的橡皮擦  ·  C# SocketException: ...·  2 年前    · 
开朗的啄木鸟  ·  Python-Tkinter ...·  2 年前    · 
【Matlab基础】03. 字符串与结构语句

【Matlab基础】03. 字符串与结构语句

一、字符串

1. 字符串基本操作

字母、数字、特殊符号都是字符;一串连续的字符就是字符串。

字符串的一般形式为:

str =’a1 a2 …an’

n个字符,每个字符占1位存放成一个行向量,可以通过下标访问字符串的元素。


要存放多个字符串需要元胞数组。

字符串基本操作示例:


str1 = 'We''re going to study Matlab!'
% %必须英文状态下的单引号,单引号元素用两个单引号
 L = length(str1)  %返回字符串包含字符的个数
 zhstr1 = '中文字符串示例!'  %中文字符串,也是英文单引号
 size(zhstr1)
 C1 = {'Matlab 2010b includes data types:';
       'Double array';
       'Character array';
       'and so on'}  %元胞数组存放多个字符串
 str1(16:20) = 'learn'  %将str1的16-20字符替换为learn
 str2=str1(16:20)  %提取str1的16-20字符作为子串
 str3 = str1(end:-1:1)  %实现字符串的倒排
 asc=double(str1);  %将字符转化为ASCII码
 str4=char(asc);  % ASCII码转化为字符
 upper(str1);  %转化为大写
 lower(str1);  %转化为小写

2. 字符串函数

strcat(str1, str2,…)——将字符串str1, str2,…水平连接;

strvcat(str1, str2,…)——将字符串str1, str2,…竖直连接成字符串向量;

strcmp(str1,str2)——str1与str2相等返回1,否则返回0(区分大小写);

strcmpi(str1,str2)——str1与str2相等返回1,否则返回0(不区分大小写);

strncmp(str1,str2,n)——比较str1与str2前n个字符是否相等(区分大小写)

strncmpi(str1,str2,n)——比较str1与str2前n个字符是否相等(不区分大小写)

findstr(str1,str2)——在较长字符串中查找较短字符串出现的各个位置;

strfind(str1,key)——在字符串str1中查找字符串key出现的位置;

strmatch(key,strs)——检查多行的字符串strs,以列向量形式返回各行以字符串key开始的各个行号;

strrep(str1,str2,str3)——把str1中含有str2位置用str3替换;

num2str(A)——数值矩阵转换为字符串矩阵;

str2num(str)——字符串矩阵转换为数值矩阵;

mat2str(A)——转化为生成矩阵A的代码语句的字符串;

int2str(A)——整数矩阵转换为字符串矩阵,若不是整数则四舍五入;

blanks(n)——返回n个空格组成的字符串;

deblank(str)——删除字符串末尾的空格;

strtrim(str)——删除字符串开头、结尾的空格、制表符、换行符;

3. eval() 函数

将括号内的字符串视为语句并运行。比如,

eval('y=sin(pi/2)') 和 y=sin(pi/2)

等价;多在循环语句中使用,可以对多个名字有规则的变量或文件进行操作,比如

for k=1:3
eval(['y',num2str(k),'=',num2str(k^2),';'])

实现赋值y1=1, y2=4, y3=9.

二、控制语句

1.选择结构

(1) If语句

基本格式为:

if 条件1

语句;

elseif 条件2

语句;

else

语句;

end

注意 :① 判断条件不用加小括号;结尾必须用end来标识if语句结束;

② 某个逻辑条件为真,则执行且只执行下一条matlab语句(以“ ; ”结尾的)或 { } 中间的程序块。

(2)switch语句

switch 表达式