matlab平时作业
更新时间:2023-11-15 02:12:01 阅读量: 教育文库 文档下载
《MATLAB程序设计基础》平时作业
说明:1-17题为必做题,须分别提交纸质文档及与纸质文档对应的电子文档.doc版。 1. 对于每输入的一个百分制成绩,要求输出对应的成绩等级A、B、C、D、E。其中A的分
值在区间[90,100)内;B的分值在区间[80,90)内;C的分值在区间[70,80)内;D的分值在区间[60,70)内;E的分值在区间[0,60)内;要求: 1)要有对输入成绩是否合理的判断:
①输入成绩如果含有小数,只能是“x.5”的形式,其实x为合理的整数。 ②成绩必须在百分制范围内。
③如果输入的成绩不合理,应向命令窗口输出报错信息“输入的成绩不合理” 2)用if语句实现题目要求
x=input('输入一个数值:'); %输入
if mod(x,0.5)==0&&x>=0&&x<100; %mod(x,0.5)表示x除以0.5的余数,用以判断成绩含小数是否为x.5
if x<0&x>=100 %不合理成绩
disp('输入的成绩不合理') elseif x<100&x>=90%成绩[90 100) disp('成绩等级为:A')
elseif x<90&x>=80 %成绩[80 90) disp('成绩等级为:B')
elseif x<80&x>=70%成绩[70 80)
disp('成绩等级为:C')
elseif x<70&x>=60%成绩[60 70)
disp('成绩等级为:D') else
disp('成绩等级为:E')%成绩[0 60)
end
else
disp('输入的成绩不合理') end
运行结果:
输入一个数值:57 成绩等级为:E
输入一个数值:93.3 输入的成绩不合理
3)用switch语句实现题目要求
x=input('请输入一个成绩:'); %输入
if mod(x,0.5)==0&&x>=0&&x<100 %mod(x,0.5)表示x除以0.5的余数,用以判断成绩含小数是否为x.5 switch floor(x/10) %x除以10向下取整 case 9
disp('成绩等级为:A'); case 8
disp('成绩等级为:B');
1
case 7
disp('成绩等级为:C'); case 6
disp('成绩等级为:D'); case {5,4,3,2,1,0}
disp('成绩等级为:E'); otherwise
disp('输入的成绩不合理'); end
else
disp('输入的成绩不合理');
end
运行结果:
请输入一个成绩:0 成绩等级为:E
请输入一个成绩:120 输入的成绩不合理 请输入一个成绩:95.5 成绩等级为:A
2. 设计程序,完成[10,99]之间两位整数的加、减、乘、除四则运算。要求:
1)随机产生区间[10,99]之内的两位随机整数
2)在产生符合要求的随机数后,输入一个运算符号,做相应的运算 3)运算结果显示在命令窗口,其显示类似于“a=x+y=68”的形式。 x=round((99-10)*rand(1)+10); %在区间[10 99]随机选一个数x y=round((99-10)*rand(1)+10); %在区间[10 99]随机选一个数y
sym=input('请输入运算符号(+-*/):','s'); switch sym %switch语句 case{'+'} a=x+y;
disp(['输入的两数之和b=',num2str(x),'+',num2str(y),'=',num2str(a)]); %输出显示类似于“a=x+y=68”的形式 case{'-'} a=x-y;
disp(['输入的两数之差c=',num2str(x),'-',num2str(y),'=',num2str(a)]); case{'*'} a=x*y;
disp(['输入的两数之积d=',num2str(x),'*',num2str(y),'=',num2str(a)]); case{'/'} a=x/y;
disp(['输入的两数之商e=',num2str(x),'/',num2str(y),'=',num2str(a)]); otherwise disp('输入符号错误') end
运行结果:
请输入运算符号(+-*/):+
2
输入的两数之和b=95+31=126 请输入运算符号(+-*/):-
输入的两数之差c=64-53=11 请输入运算符号(+-*/):*
输入的两数之积d=89*78=6942 请输入运算符号(+-*/):/
输入的两数之商e=51/12=4.25
3. 求下列分段函数的值并绘制函数曲线。
?x2?x?6,x?0且 x?-3?y??x2?5x?6,0?x<10,x?2且 x?3
?x2?x?1,其他? 要求:
1)x的值以向量的形式从键盘输入。 2)用if语句实现,分别输出x =﹣5.0,﹣3.0,1.0,2.0,2.5,3.0,5.0时的y值。 x=input('please input x='); if x<0 & x~=3 y=x.^2+x-6;
elseif x>=0 & x<10 & x~=2 & x~=3 y=x.^2-5.*x+6; else
y=x.^2-x-1; end
disp(['y=',num2str(y)]) 运行结果:
please input x=[-5.0 -3.0 1.0 2.0 2.5 3.0 5.0 ] y=14 11 -1 1 2.75 5 19
3)自行拟定自变量的取值,绘制该分段函数的二维曲线。 x=-10:1:15; %自拟自变量的取值 if x<0 & x~=3 y=x.^2+x+6;
elseif x>=0 & x<10 & x~=2 & x~=3 y=x.^2-5.*x+6; else
y=x.^2-x-1; end
plot(x,y,'r-') %绘制分段函数 title('分段函数') xlabel('x') ylabel('y') hold on
3
图3(3)分段函数的二维曲线
4. 分别使用for循环语句和while循环语句找出最小的n值,使得n!>10100,并求出n!。
for循环语句如下:
s=1; %对s赋初值
for n=1:100 %默认步长为1 s=s*n; %s=n! if(s>10100)
break; %如果s>10100,结束运行 end
end
disp(['n=',num2str(n)]) %输出n disp(['s=',num2str(s)]) %输出s
运行结果: n=8 s=40320
while循环语句如下:
s=1; %对s赋初值
n=0; %循环次数赋初值 while(s<=10100)
n=n+1; %不能使用++ s=s*n; end
disp(['n=',num2str(n)]);
disp(['s=',num2str(s)]); %组合字符串 运行结果: n=8 s=40320 5. 已知
f1=1,n=1 f2=0,n=2
4
f3=1,n=3
fn=fn-1-2fn-2+fn-3,n>3 求f1 ~ f50中:
1) 最大值和最小值及它们的位置、各数之和 (最大值给变量MAX,其位置给变量x,
最小值给变量MIN,其位置给变量y,各数之和给变量SUM)。 2) 正数、零、负数的个数
(依次赋值给变量N_positive,N_zero,N_negative)。
f(1)=1; f(2)=0;
f(3)=1; %输入 n=3; %赋值 while (n<50) n=n+1;
f(n)=f(n-1)-2*f(n-2)+f(n-3);
end
[MAX,x]=max(f) %MAX为向量f中最大值元素,x为最大值元素的索引号 [MIN,y]=min(f) %MAX为向量f中最小值元素,y为最小值元素的索引号 SUM=sum(f)
N_positive=numel(find(f>0)) %numel表示返还数组中的元素个数, N_zero=numel(find(f==0)) %返还f中等于0的位置 N_negative=numel(find(f<0)) 运行结果: MAX =406631 x = 49
MIN =-403795 y =50
SUM =76861 N_positive =25 N_zero =2
N_negative =23
6. Fibonacci数组的元素满足Fibonacci规则:
ak+2=ak+ak+1,(k=1,2,3,?);且a1= a2=1。
请设计一段程序,求出该数组中第一个大于10000的元素对应的k值以及该元素值。 a(1)=1; a(2)=1; k=1;
while a(k)<=10000
a(k+2)=a(k)+a(k+1); k=k+1;
end
disp(['k=',num2str(k)])
disp(['a(k)=',num2str(a(k))]) 运行结果:
5
正在阅读:
matlab平时作业11-15
油菜花海作文600字07-12
一个土生子的札记10-17
浅谈如何培养学生养成良好的卫生习惯12-24
北师大经济学考研经验这里找吧02-27
党课讲稿:党支部书记党课学党章守纪律转作风党课讲稿09-16
小学美术五年下册第3、4课教案11-25
小学数学奥数基础教程(四年级)30讲08-14
鼓励残疾人的话02-15
采煤工作面测量第四章06-24
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 平时
- 作业
- matlab
- 六年级下册各科教学计划(全)
- 顶星9030X2L9主板跳线说明
- 新人教部编版二年级下学期数学第八单元达标测试卷
- 天然气长输管道的腐蚀与防护措施本科毕业论文
- 大学物理学习指导1-44
- 诸葛二小综合实践活动课程教师调查问卷
- 运输概述
- 新建住宅小区供配电工程委托建设合同
- 2012年1季度高级管理人员任免情况通报 - 图文
- 组织行为期末复习
- 莱芜一中2011—2012学年下学期教学成果汇总
- 2007(上)财经法规试卷及答案
- 创造思维与创造发明讲座
- 《生理学》练习题
- 多元文化的交融与世俗的时代(第4课时)学案(无答案)人教新课标版
- 关于水泥用原材料使用管理办法
- 公体乒乓球试题库
- 微观经济学(第五版)习题
- 机关文字工作再认识
- 行政总监笔试题1答案卷