006 字符串Word格式.docx
- 文档编号:17635534
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:9
- 大小:33.30KB
006 字符串Word格式.docx
《006 字符串Word格式.docx》由会员分享,可在线阅读,更多相关《006 字符串Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
;
Doublearray'
Characterarray'
andsoon'
}
class(C1)%返回C1的数据类型
size(C1)
C2=char('
...
'
...
)
class(C2)
size(C2)
C3=cellstr(C2);
%同C1
C1='
'
ans=cell
ans=41
C2=Matlab2010bincludesdatatypes:
Doublearray
Characterarray
andsoon
ans=char
ans=433
注:
这里C1也可以用strvcat(str1,str2,…)实现类似的存储效果,见下文【字符串的连接】。
二、字符串的访问和操作
字符串是以行向量形式存储的,可通过下标访问。
1.替换字符串中的元素
str1(16:
20)='
learn'
%将study替换为learn,注意study是从第16个位置开始的
regoingtolearnMatlab!
2.取出字符串的子串
str2=str1(16:
20)
str2=learn
3.字符串顺序的倒排
str3=str1(end:
-1:
1)
str3=!
baltaMnraelotgnioger'
eW
4.字符串字符的ASCII值与字符相互转换
字符串的元素存放的是字符的ASCII码值,显示在屏幕上的是字符本身。
从字符到ASCII码:
double()
从ASCII码到字符:
char()
ustr1=double(s1)
str4=char(us1)
double(zhstr1)
ustr1=
Columns1through15
8710139114101321031111051101033211611132
Columns16through28
10810197114110327797116108979833
str4=We'
ans=
2001325991233833152620018310342036365281
5.字符串英文字母转换大小写
upper(str1)%全变为大写
lower(str1)%全变为小写
ans=WE'
REGOINGTOLEARNMATLAB!
ans=we'
regoingtolearnmatlab!
6.字符串的连接
strcat(str1,str2,…)——将字符串str1,str2,…连接合并为一个长字符串;
strvcat(str1,str2,…)——将字符串str1,str2,…连接成字符串向量(n×
1的字符串矩阵,或n×
mi字符矩阵);
abcdefg'
str2='
hijklmnopq'
str3=strcat(str1,str2)%将两个字符串合并为一个长字符串
str4=strvcat(str1,str2)%将两个字符串连接成字符串向量
whosstr3%返回str3的结构形式
whosstr4%2x1的字符串矩阵
str3=abcdefghijklmnopq
str4=abcdefg
hijklmnopq
NameSizeBytesClassAttributes
str31x1428char
str42x728char
7.字符串的比较
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个字符是否相等(不区分大小写)
strcmp(str1,str2)
strcmpi('
abCD'
'
abcd'
strncmp('
Abcde'
str3,5)
strncmpi('
str3,5)
ans=0
ans=1
8.字符串的查找与替换
findstr(str1,str2)——在较长字符串中查找较短字符串出现的各个位置(str1,str2谁先谁后都没关系);
strfind(str1,key)——在字符串str1中查找字符串key出现的位置;
strmatch(key,strs)——检查多行的字符串strs,以列向量形式返回各行以字符串key开始的各个行号;
strrep(str1,str2,str3)——把str1中含有str2位置用str3替换;
str='
Findthestartingindicesoftheshorterstring.'
findstr(str,'
the'
findstr('
str)
strfind(str,'
strfind('
str)
strmatch('
hij'
str4)%字符串str4第2行是以’hij’开始的
strrep(str,'
a'
ans=630
ans=630
ans=[]
ans=2
ans=Findastartingindicesofashorterstring.
9.数值矩阵与字符串转换
num2str(A)——数值矩阵转换为字符串向量(字符矩阵);
str2num(str)——字符串向量(字符矩阵)转换为数值矩阵;
mat2str(A)——将数值矩阵A的表达式转换为字符串“[”“]”“;
”等都保留;
int2str(A)——整数矩阵转换为字符串向量(字符矩阵)。
A=[1,2,3;
4,5,6;
77,88,99]
whosA
str=num2str(A)
whosstr
num=str2num(str);
%num等于A
str1=mat2str(A)
whosstr1
str2=int2str(A);
%其值等于前面的str,
%若A不是整数矩阵先四舍五入为整数矩阵
A=123
456
778899
NameSizeBytesClassAttributes
A3x372double
str=123
778899
str3x1060char
str1=[123;
456;
778899]
str11x2244char
10.其他函数
blanks(n)——返回n个空格组成的字符串;
deblank(str)——删除字符串末尾的空格;
strtrim(str)——删除字符串开头、结尾的空格、制表符、换行符;
isspace(str)——返回和str同样大小的向量,空格、制表符、换行符的位置是1,其他位置是0;
lasterr——返回上一个错误信息的字符串。
三、字符串的应用
1.eval()函数——将括号内的字符串视为执行代码并运行
例如,eval('
y=sin(pi/2)'
)和y=sin(pi/2)等价
运行结果都是:
y=1
Eval()函数多在循环中搭配num2str()函数一起使用,可以对多个名字有规则的变量或文件进行操作,例如,
fork=1:
3;
eval(['
y'
num2str(k)'
='
num2str(k^2)])%实现yk=k^2
end
D={'
odedemo'
sunspots'
fitdemo'
};
%三个m文件名
n=input('
Selectademonumber:
);
%提示输入要选择执行的某个m文件,比如输入2
eval(D{n})%运行sunspots.m
y1=1
y2=4
y3=9
运行Matlab自带的sunspots.m文件,输出结果是一个图(略)
2.用字符串命令控制格式化输出
例,fprintf,sprintf,sscanf用法
a=rand(2,2)%生成2×
2随机矩阵
ss=sprintf('
%.10e\n'
a)%按10位科学计数法输出,
%每输一个换行,注意:
ss是字符矩阵
fprintf('
%.4g\n'
a)%按4位数输出
sscanf(ss,'
%f'
[2,2])%按浮点格式转换成2×
2数值矩阵
a=0.81470.1270
0.90580.9134
ss=8.1472368639e-001
9.0579193708e-001
1.2698681629e-001
9.1337585614e-001
ans=0.8147
0.9058
0.127
0.9134
ans=0.81470.1270
0.90580.9134
3.用字符串给图形标记文字说明
a=2;
w=3;
t=0:
0.01:
10;
y=exp(-a*t).*sin(w*t);
[y_max,i_max]=max(y);
%找出y的最大值元素位置
t_text=['
t='
num2str(t(i_max))];
%生成最大值点横坐标字符串
y_text=['
y='
num2str(y_max)];
%生成最大值点纵坐标字符串
max_text=char('
maximum'
t_text,y_text);
tit=['
y=exp(-'
num2str(a),'
t)*sin('
num2str(w),'
t)'
];
%生成标记最大值点的字符串
plot(t,zeros(size(t)),'
k'
)%画纵坐标为0的基准线
holdon%保持已绘制图形不被清除
plot(t,y,'
b'
)%用蓝色线画函数y(t)
plot(t(i_max),y_max,'
r.'
MarkerSize'
20)
%用大红点标记最大值点
text(t(i_max)+0.3,y_max+0.05,max_text)
%显示最大值点的数值
title(tit)%标记图名
xlabel('
t'
)%标记横坐标名
ylabel('
)%标记纵坐标名
holdoff%清除原来的图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 006 字符串
![提示](https://static.bdocx.com/images/bang_tan.gif)