1. 字符串数组str=[‘hopes, dreams, hold on, old brother’],查找'o'出现的次数和位置。(提示:findstr)
2. 现有三个字符串变量s1='i',s2='love',s3='MATLAB7.1',利用字符串处理函数,将其用空格连接在一起,并字母转换为大写,并将7.1替换为2016a。(提示:strcat,strrep,字符串运算)
3. Str=‘1 The existing research is about location tracking either completely indoor or altogether on open air 2 by utilizing various sensors and procedures based on inter-networking or internet of things.’,对该字符串做如下处理:
(1)判断字符串中每个单词的首字母是否大写,若不是则将其修改为大写,其他字母为小写。
(2)统计字符串中的数字和字母的个数。(提示:isletter)
(3)将字符串中间的空格和数字删除,所有字母倒过来重新排序。
4. 创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。然后使用该结构体对一个班级的学生的成绩进行管理,如计算总分、平均分、排列名次等。(提示:结构体的创建student=struct(…..),变量调用student.grade,排序sort)
5. 创建一个2*2的单元数组,第1、2个元素为字符串,第3元素为整型,第4元素为双精度类型,并将其用图形表示。(提示:cellplot作图)
6. 创建一个表格,第一、四、五列数据为整型数,第二列为字符型数据,第三列为logical类型数据,读取其中前3行,并统计表格的行数和列数。
clc,clear
str=['hopes,dreams,hold on,old brother'];
b=findstr(str,'o')
count=size(b,2)%求o的个数
运行结果:
则’o’的个数为5个。
1. 代码:
clc,clear
s1='i';s2='love';s3='MATLAB7.1';
s=strcat(s1,32,s2,32,s3)
ss=upper(s)%'upper'函数为把s中字符串所有字母转化为大写
S=strrep(ss,'7.1','2016a')
运行结果:
3.1 代码:
clc,clear
str='1 The existing research is about location tracking either completely indoor or altogether on open air 2 by utilizing various sensors and procedures based on inter-networking or internet of things.';
n=length(str);%计算该字符串的长度
for i=1:n
if str(i)==32 & str(i+1)>=97
str(i+1)=str(i+1)-32;%首字母小写转化为大写
end
end
disp(str)%显示转化后的字符串
运行结果:
3.2 代码:
clc,clear
str='1 The existing research is about location tracking either completely indoor or altogether on open air 2 by utilizing various sensors and procedures based on inter-networking or internet of things.';
n=length(str);%计算该字符串的长度
count_sz=0;%用来计算数字的个数
for i=1:n
if str(i)>='0'&str(i)<='9'
count_sz=count_sz+1;%如果是数字则计算加1
end
end
count_sz %显示数字计数的个数
m=isletter(str);
count_zm=sum(m) %计算字母的个数
运行结果:
3.3 代码:
clc,clear
str='1 The existing research is about location tracking either completely indoor or altogether on open air 2 by utilizing various sensors and procedures based on inter-networking or internet of things.';
n=length(str);%计算该字符串的长度
m=logical(ones(1,n)); %建立1行n列的全是1的逻辑矩阵
for i=1:n
if str(i)>= '0' &str(i)<='9'
m(i)=0;
elseif str(i)==32
m(i)=0;
end
end
str=str(m) %去掉不满足条件的字符
str=reverse(str) %将所有字母反过来排序
运行结果:
4.代码:
clc,clear
%建立学生结构体
student=struct('Name',{'A','B','C'},'Sno',{'001','002','003'},'yuwen',{'80','90','95'},'shuxue',{'90','76','85'});
Total=0;
for i=1:3
student(i).total=str2double(student(i).shuxue)+str2double(student(i).yuwen);%计算各科总分
Total=student(i).total+Total;%计算全部总分
end
disp('全部总分为:')
Total
average=Total/3;%求平均总分
grade=zeros(1,3);
for i=1:3
student(i).grade=student(i).total/2;%求每个人的平均分
grade(i)=student(i).grade;
end
disp('平均分为:')
student.grade
[~,weizhi]=sort(grade,2,'descend');%对每个人的平均分进行排序
[~,rank] = sort(weizhi);%求每个人的排名
for i=1:3
student(i).rank=rank(i);%存放在学生结构体中
end
disp('排名为:')
student.rank
结果:
5.代码:
clc,clear
B=cell(2,2); %建立2x2细胞元组
%分别给细胞元赋值
B(1,1)={'aaa'};B(1,2)={'bbb'};
B(2,1)={int16(520.1314)};
B(2,2)={double(1314.520)};
cellplot(B) %用图形显示出细胞元组
运行结果:
6.代码:
clc,clear
aa=int16([1;2;3;4;5;6]); %定义第一列为整型数据并赋值
bb=char(['a';'b';'c';'d';'s';'b']); %定义第二列为字符型数据并赋值
cc=logical([1;0;1;1;0;1]); %定义第三列为逻辑型数据并赋值
dd=int16([1;3;1;4;2;0]); %定义第四列为整型数据并赋值
ee=int16([5.20;1.3;1.4;8;'a';'b']); %定义第五列为整型数据并赋值
T=table(aa,bb,cc,dd,ee) %创建表格
T_3=T(1:3,:) %读取表格前3行
a=size(T,1);b=size(T,2); %分别计算表格行数和列数
disp('表格行数为')
disp(a)
disp('表格列数为')
disp(b)
运行结果: