1.读取一副图像,如果是彩色图则转化为灰度图;对得到的灰度图做如下处理:
(1)将灰度值大于200的像素值全部设置为200;
(2)将灰度值小于100的像素值全部设置为100;
(3)比较原图和经过步骤(1)和(2)处理后得到的图的差异
答:
%%原图的读入
clc;
clear all;
close all;
title('原图')
%%灰度图的保存与显示
I_gray=rgb2gray(I);
subplot(1,3,2);
imshow(I_gray);
title('灰度图')
%%变换后的灰度图
I1=I_gray;
I1(I_gray>200)=200;
I1(I_gray<100)=100;
subplot(1,3,3);
imshow(I1);
title('变换后的图')
改变后,图像由彩色变成灰色,色彩较为单一,且变得不是那么清晰。
2.将如下字符串中的大写字符转换为小写,小写转换为大写。
Matlab is a useful soft. It is well used in many Areas.
答:
clc;
clear all;
close all;
a='Matlab is a useful soft. It is well used in many Areas.';
b=double(a);
c=find(a>='a'&a<='z');
d=find(a>='A'&a<='Z');
b(c)=b(c)-32;
b(d)=b(d)+32;
char(b)
ans =
mATLAB IS A USEFUL SOFT. iT IS WELL USED IN MANY aREAS.
3.score.txt文件中记录了某个班级的同学的期末成绩,编写程序读取该文件的内容,实现如下功能:
(1)统计90以上学生的人数,输出90分以上学生的名单。
(2)统计不及格的学生的人数,输出其名单(及格分数为60分或以上)。
(3)画出全体同学的分数分布的统计直方图。
答:
%%数据输入模块
clc;
clear all;
close all;
ST=importdata('score.txt');
s1=ST.data;
s2=ST.textdata;
%%
%%统计90分以上的人数
x=0;
X=[];
for i=1:20
end
%%
%%统计60分一下的人
y=0;
Y=[];
for i=1:20
end
%%
%%显示模块
disp('90分以上的人有:')
disp(x)
disp(X)
disp('60分以下的人有:')
disp(y)
disp(Y)
hist(s1')
xlabel('分数');
ylabel('人数');
>>
90分以上的人有:
地方'
供货'
打分'
统一'
明天'
不同'
60分以下的人有:
帮你'
该行'
回顾'
如果'
'他人'
4.编程实现剪刀石头布的游戏:
(1)程序开始,屏幕自动提示用户输入剪刀、石头、布中的一种;
(2)用户输入后,电脑随机的出“剪刀、石头、布”中的一种,并显示在屏幕上;
(3)电脑给出游戏的胜负,然后提示用户是否继续玩该游戏:如果用户输入yes,则继续,若输入no则退出。
答:
%%
%该模块实现石头剪刀布的功能,石头剪刀布由用户输入,电脑实际出,然后判断输赢,然后根据
%用户判断是否继续,根据用户判断进行下一步的操作
clc;
clear all;
close all;
n=1;
while n==1
石头、剪刀、布 ';
请选择,石头(1),剪刀(2),布(3): ');
输入错误,请重新输入: ');
请做出你的选择,石头(1),剪刀(2),布(3): ');
您的选择是: ');
电脑的选择是:');
%%
%%输赢判断模块
%如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢
平手');
您输了');
您赢了');
%%
%是否继续判别模块
是否继续玩该游戏?否(0),是(1)');
您输入的不是正确数字,请正确输入');
是否继续玩该游戏?否(0),是(1)');
end
>>
请选择,石头(1),剪刀(2),布(3): 1
您的选择是:
石头
电脑的选择是:
、剪
您赢了
是否继续玩该游戏?否(0),是(1)1
请选择,石头(1),剪刀(2),布(3): 2
您的选择是:
、剪
电脑的选择是:
石头
您输了
是否继续玩该游戏?否(0),是(1)0
>>
5.编写一个日程提醒程序实现如下功能:
(1)如果当前时间为7-8点则提醒用户,该吃早饭了;
(2)如果当前时间为9-11点则提醒用户,该学习了;
(3)如果当前时间为12-14点则提醒用户,该午休了;
(4)如果当前时间为14-17点则提醒用户,该锻炼了;
答:
%%程序为:remind.fig、remind.m
6.求解六元线性方程组:
(1)方程组的系数矩阵由用户通过键盘输入;
(2)得到系数矩阵后给出方程的解;
(3)程序要具有友好性
答:
%%
%该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给出方程的解;
clc;
clear all;
close all;
%%
%方程输入模块
x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'});
A=cell2mat(x);
y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
%%
%方程计算模块
B=cell2mat(y);
result=A\\B;
%%
%方程显示模块
disp('六元方程组的解为:');
x1=result(1)
x2=result(2)
x3=result(3)
x4=result(4)
x5=result(5)
x6=result(6)