MATLAB全部实验及答案(2)

2020-05-08 10:17

c=strvcat(a,b)

6、 用结构体数组来存储2名学生的基本情况数据,每名学生的数据包括

学号、姓名、专业和2门课程的成绩。 解:clear,clc

xuesheng=struct('num',{222,22},'name',{'mike','hike'},'major','tele','score',{rand(2,1)*100,rand(2,1)*100}) xuesheng.score

7、 求S=20+21+22+23+24+??+210的值(提示:利用求和函数与累乘积函数。) 解:a=2*ones(1,10) b=cumprod(a) c=sum(b)+1 aa=2*ones(1,11) aa(1)=1 bb=cumprod(aa) cc=sum(bb)

8、 建立矩阵A并回答有关问题

A{1,1}=1; A{1,2}='Brenden'; A{2,1}=reshape(1:9,3,3);

A{2,2}={12,34,2;54,21,3;4,23,67};

1) 使用访问的方式如何将Brenden改写成BRENDEN?

2) 分别执行A(3)=[]和A{3}=[]后,A的值各是多少?并说明原因。

解:A{1,1}=1; A{1,2}='Brenden'; A{2,1}=reshape(1:9,3,3);

A{2,2}={12,34,2;54,21,3;4,23,67}; A{1,2}=upper(A{1,2}) A{3}=[] A(3)=[]

9、 利用MATLAB提供的rand函数和圆整函数随机生成4X3整数矩阵A,

进行如下操作

1)A各列元素的平均值和中值

2)A的最大元素和最小元素及它们的位置 3)求A的每行元素的和以及全部元素之和

4)分别对A的每列元素按升序、每行元素按降序排列 解:A=round(rand(4,3)) A_mean=mean(A) A_median=median(A) A_max=max(max(A)) A_min=min(min(A)) [x,y]=find(A==A_max) [xx,yy]=find(A==A_min) A_maxlocal=[x(1) y(1)] A_minlocal=[xx(1) yy(1)] A_rsum=sum(A,2)

A_sum=sum(sum(A)) A_csort=sort(A) A_rsort=abs(sort(-A,2))

实验三、MATLAB程序设计

实验内容及步骤

1、 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分

~100分为A,80分~89分为B,70分~79为C,60分~69分为D,60分以下为E。

要求:1)分别用if语句和switch语句实现

2)对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”) 解:score=input('请输入您的分数:'); if rem(score,0.5)==0 switch score

case num2cell(90:0.5:100) disp('您的成绩等级为 A') case num2cell(80:0.5:89) disp('您的成绩等级为 B') case num2cell(70:0.5:79) disp('您的成绩等级为 C') case num2cell(60:0.5:69) disp('您的成绩等级为 D') case num2cell(0:0.5:59.5)

disp('您的成绩等级为 E') otherwise

disp('你输入的成绩不合理') end else

disp('你输入的成绩不合理,若出现小数只能是0.5') end

2、 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位

随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。(sy312.m) 解:a=input('请输入一个数:'); b=input('请再输入一个数:');

fuhao=input('请输入一个运算符号(+ - * /):','s'); switch fuhao case {'+'} he=a+b; disp(['

=',num2str(a),'+',num2str(b),'=',num2str(he)]) case {'-'} he=a-b; disp(['

=',num2str(a),'-',num2str(b),'=',num2str(he)]) case {'*'}

he=a*b; disp(['

=',num2str(a),'*',num2str(b),'=',num2str(he)]) case {'/'} he=a/b; disp(['

=',num2str(a),'/',num2str(b),'=',num2str(he)]) otherwise disp('请输入正确的符号') end

3、 求下列分段函数的值

??2???6,??0且 ??-3?y???2?5??6,0??<10,??2且 ??3 ??2???1,其他? 要求:用if语句实现,分别输出x = -5.0,-3.0,1.0,2.0,2.5,

3.0,5.0时的y值。其中x的值以向量的形式从键盘输入。(sy313.m)

解:x=[]; y=[];

x=input('请输入x的值:'); for k=1:length(x) if x(k)<0 & x(k)~=-3 y(k)=x(k).^2+x(k)-6;

elseif x(k)>=0&x(k)<10&x(k)~=2&x(k)~=3 y(k)=x(k).^2-5*x(k)+6;


MATLAB全部实验及答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程材料与热加工 考试试卷3

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: