广西民族大学Matlab实验2

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)
运行结果: 
 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值