MATLAB基础习题第五章习题答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
while you~=1&you~=2&you~=3
disp('输入错误,请重新输入:');
you=input('请做出你的选择,石头(1),剪刀(2),布(3):');
end
disp('您的选择是:');
disp(b(2*you-1:2*you));
compute=ceil(3*rand(1,1));
(3)程序要具有友好性
答:
%%
%该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给出方程的解;
clc;
clear all;
close all;
%%
%方程输入模块
x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'});
(1)统计90以上学生的人数,输出90分以上学生的名单。
(2)统计不及格的学生的人数,输出其名单(及格分数为60分或以上)。
(3)画出全体同学的分数分布的统计直方图。
答:
%%数据输入模块
clc;
clear all;
close all;
ST=importdata('score.txt');
s1=ST.data;
5
'帮你'
'该行'
'回顾'
'如果'
'他人'
4.编程实现剪刀石头布的游戏:
(1)程序开始,屏幕自动提示用户输入剪刀、石头、布中的一种;
(2)用户输入后,电脑随机的出“剪刀、石头、布”中的一种,并显示在屏幕上;
(3)电脑给出游戏的胜负,然后提示用户是否继续玩该游戏:如果用户输入yes,则继续,若输入no则退出。
答:
%%
%该模块实现石头剪刀布的功能,石头剪刀布由用户输入,电脑实际出,然后判断输赢,然后根据
%用户判断是否继续,根据用户判断进行下一步的操作
clc;
clear all;
close all;
n=1;
while n==1
a=0;
b='石头、剪刀、布';
you=input('请选择,石头(1),剪刀(2),布(3):');
(2)如果当前时间为9-11点则提醒用户,该学习了;
(3)如果当前时间为12-14点则提醒用户,该午休了;
(4)如果当前时间为14-17点则提醒用户,该锻炼了;
答:
%%程序为:remind.fig、remind.m
6.求解六元线性方程组:
(1)方程组的系数矩阵由用户通过键盘输入;
(2)得到系数矩阵后给出方程的解;
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文件中记录了某个班级的同学的期末成绩,编写程序读取该文件的内容,实现如下功能:
end
end
%%
%%显示模块
disp('90分以上的人有:')
disp(x)
disp(X)
disp('60分以下的人有:')
disp(y)
disp(Y)
hist(s1')
xlabel('分数');
ylabel('人数');
>>
90分以上的人有:
6
'地方'
'供货'
'打分'
'统一'
'明天'
'不同'
60分以下的人有:
end
>>
请选择,石头(1),剪刀(2),布(3):1
您的选择是:
石头
电脑的选择是:
、剪
您赢了
是否继续玩该游戏?否(0),是(1)1
请选择,石头(1),剪刀(2),布(3):2
您的选来自百度文库是:
、剪
电脑的选择是:
石头
您输了
是否继续玩该游戏?否(0),是(1)0
>>
5.编写一个日程提醒程序实现如下功能:
(1)如果当前时间为7-8点则提醒用户,该吃早饭了;
I=imread('tulip.jpg');
subplot(1,3,1);
imshow(I);
title('原图')
%%灰度图的保存与显示
I_gray=rgb2gray(I);
imwrite(I_gray,'1_gray.bmp', 'bmp');
subplot(1,3,2);
imshow(I_gray);
disp('您输了');
case{-1,2}
disp('您赢了');
end
%%
%是否继续判别模块
n=input('是否继续玩该游戏?否(0),是(1)');
while n~=0&n~=1
disp('您输入的不是正确数字,请正确输入');
n=input('是否继续玩该游戏?否(0),是(1)');
end
x3=result(3)
x4=result(4)
x5=result(5)
x6=result(6)
disp('电脑的选择是:');
disp(b(2*compute-1:2*compute));
%%
%%输赢判断模块
%如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢
if you==compute
disp('平手');
end
switch(you-compute)
case{1,-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);
s2=ST.textdata;
%%
%%统计90分以上的人数
x=0;
X=[];
for i=1:20
if s1(i)>90
X=[X;s2(i+1,3)];
x=x+1;
end
end
%%
%%统计60分一下的人
y=0;
Y=[];
for i=1:20
if s1(i)<60
Y=[Y;s2(i+1,3)];
y=y+1;
title('灰度图')
%%变换后的灰度图
I1=I_gray;
I1(I_gray>200)=200;
I1(I_gray<100)=100;
subplot(1,3,3);
imshow(I1);
title('变换后的图')
改变后,图像由彩色变成灰色,色彩较为单一,且变得不是那么清晰。
2.将如下字符串中的大写字符转换为小写,小写转换为大写。
A=cell2mat(x);
y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
%%
%方程计算模块
B=cell2mat(y);
result=A\B;
%%
%方程显示模块
disp('六元方程组的解为:');
x1=result(1)
x2=result(2)
第五章习题
1.读取一副图像,如果是彩色图则转化为灰度图;对得到的灰度图做如下处理:
(1)将灰度值大于200的像素值全部设置为200;
(2)将灰度值小于100的像素值全部设置为100;
(3)比较原图和经过步骤(1)和(2)处理后得到的图的差异
答:
%%原图的读入
clc;
clear all;
close all;
disp('输入错误,请重新输入:');
you=input('请做出你的选择,石头(1),剪刀(2),布(3):');
end
disp('您的选择是:');
disp(b(2*you-1:2*you));
compute=ceil(3*rand(1,1));
(3)程序要具有友好性
答:
%%
%该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给出方程的解;
clc;
clear all;
close all;
%%
%方程输入模块
x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'});
(1)统计90以上学生的人数,输出90分以上学生的名单。
(2)统计不及格的学生的人数,输出其名单(及格分数为60分或以上)。
(3)画出全体同学的分数分布的统计直方图。
答:
%%数据输入模块
clc;
clear all;
close all;
ST=importdata('score.txt');
s1=ST.data;
5
'帮你'
'该行'
'回顾'
'如果'
'他人'
4.编程实现剪刀石头布的游戏:
(1)程序开始,屏幕自动提示用户输入剪刀、石头、布中的一种;
(2)用户输入后,电脑随机的出“剪刀、石头、布”中的一种,并显示在屏幕上;
(3)电脑给出游戏的胜负,然后提示用户是否继续玩该游戏:如果用户输入yes,则继续,若输入no则退出。
答:
%%
%该模块实现石头剪刀布的功能,石头剪刀布由用户输入,电脑实际出,然后判断输赢,然后根据
%用户判断是否继续,根据用户判断进行下一步的操作
clc;
clear all;
close all;
n=1;
while n==1
a=0;
b='石头、剪刀、布';
you=input('请选择,石头(1),剪刀(2),布(3):');
(2)如果当前时间为9-11点则提醒用户,该学习了;
(3)如果当前时间为12-14点则提醒用户,该午休了;
(4)如果当前时间为14-17点则提醒用户,该锻炼了;
答:
%%程序为:remind.fig、remind.m
6.求解六元线性方程组:
(1)方程组的系数矩阵由用户通过键盘输入;
(2)得到系数矩阵后给出方程的解;
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文件中记录了某个班级的同学的期末成绩,编写程序读取该文件的内容,实现如下功能:
end
end
%%
%%显示模块
disp('90分以上的人有:')
disp(x)
disp(X)
disp('60分以下的人有:')
disp(y)
disp(Y)
hist(s1')
xlabel('分数');
ylabel('人数');
>>
90分以上的人有:
6
'地方'
'供货'
'打分'
'统一'
'明天'
'不同'
60分以下的人有:
end
>>
请选择,石头(1),剪刀(2),布(3):1
您的选择是:
石头
电脑的选择是:
、剪
您赢了
是否继续玩该游戏?否(0),是(1)1
请选择,石头(1),剪刀(2),布(3):2
您的选来自百度文库是:
、剪
电脑的选择是:
石头
您输了
是否继续玩该游戏?否(0),是(1)0
>>
5.编写一个日程提醒程序实现如下功能:
(1)如果当前时间为7-8点则提醒用户,该吃早饭了;
I=imread('tulip.jpg');
subplot(1,3,1);
imshow(I);
title('原图')
%%灰度图的保存与显示
I_gray=rgb2gray(I);
imwrite(I_gray,'1_gray.bmp', 'bmp');
subplot(1,3,2);
imshow(I_gray);
disp('您输了');
case{-1,2}
disp('您赢了');
end
%%
%是否继续判别模块
n=input('是否继续玩该游戏?否(0),是(1)');
while n~=0&n~=1
disp('您输入的不是正确数字,请正确输入');
n=input('是否继续玩该游戏?否(0),是(1)');
end
x3=result(3)
x4=result(4)
x5=result(5)
x6=result(6)
disp('电脑的选择是:');
disp(b(2*compute-1:2*compute));
%%
%%输赢判断模块
%如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢
if you==compute
disp('平手');
end
switch(you-compute)
case{1,-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);
s2=ST.textdata;
%%
%%统计90分以上的人数
x=0;
X=[];
for i=1:20
if s1(i)>90
X=[X;s2(i+1,3)];
x=x+1;
end
end
%%
%%统计60分一下的人
y=0;
Y=[];
for i=1:20
if s1(i)<60
Y=[Y;s2(i+1,3)];
y=y+1;
title('灰度图')
%%变换后的灰度图
I1=I_gray;
I1(I_gray>200)=200;
I1(I_gray<100)=100;
subplot(1,3,3);
imshow(I1);
title('变换后的图')
改变后,图像由彩色变成灰色,色彩较为单一,且变得不是那么清晰。
2.将如下字符串中的大写字符转换为小写,小写转换为大写。
A=cell2mat(x);
y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
%%
%方程计算模块
B=cell2mat(y);
result=A\B;
%%
%方程显示模块
disp('六元方程组的解为:');
x1=result(1)
x2=result(2)
第五章习题
1.读取一副图像,如果是彩色图则转化为灰度图;对得到的灰度图做如下处理:
(1)将灰度值大于200的像素值全部设置为200;
(2)将灰度值小于100的像素值全部设置为100;
(3)比较原图和经过步骤(1)和(2)处理后得到的图的差异
答:
%%原图的读入
clc;
clear all;
close all;