matlab大作业
学号 姓名: 年级: 专业:
1、产生一个1010的随机矩阵A,要求A中元素均为整数,范围[1,50]。
1) 求出A中所有元素之和S,平均值M。
2) 找到所有小于平均值,且能被3整除的元素。
3) 绘制出A的二维纵向柱状图,横坐标为[8 5 9 1 2 3 4 7 10 13],条形宽度为0.7的“stacked”样式。
代码如下:
clc,clear all,close all
A=round(rand(10,10)*50);
disp(A)
S=sum(sum(A));
P=mean(mean(A));
disp(S)
disp(P)
disp('所有小于平均数且能被三整除的元素')
XPS=H((mod(H,3)==0)&(H disp(XPS') subplot(1,1,1),bar(A,0.7,'stacked'),title('ygh'); set(gca,'XTickLabel',{'8','5','9','1','2','3','4','7','10','13'}) 2、产生一个随机四位密码。用户用“input”进行输入对比。猜错提示“WRONG”,正确提示“RIGHT”同时退出程序,最多五次机会。 代码如下: clc,clear all,close all disp('请输入密码') A=round(8999*rand(1,1))+1000; m=1; while m<=5 N=input('请输入一个四位数:'); if A==N; disp('RIGHT'); break else disp('WRONG'); end m=m+1; end disp('密码是:') disp(A) disp('输入结束') 3、按照脚本文件的编程风格,用for和while循环嵌套输出如下的乘法口诀表。 代码如下: clc ,clear all,close all disp('这是九九乘法表') m=0;s=0; while m<10 for i=1:m s=i*m; fprintf('%d*%d=%3d ',i,m,s); end fprintf('\n'); m=m+1; end 4、同一图形窗口采用子图形式绘制,结果如图所示。 1) y=sin(t)/t ,(-4 2) y=|1/(5+i*t)|,(-4 3) y1=sin(t),y2=3*cos(t),(-4 4) 某公司一年中销售4种产品A、B、C、D,每季度对利润的贡献如下表所示,求一年中哪种产品对公司的利润贡献最大,并将其从饼图中分离出来,要求标明各块所代表的产品。 代码如下: clc,clear all,close all %(1) subplot(2,2,1),ezplot('y=sin(t)/t',[-20,20,-0.5,1]) legend('sin(t)/t') %(2) t=linspace(-20,20,512); xlabel('t'); y1=abs(1./(5+1i*t)); subplot(2,2,2),plot(t,y1,20,0.25);title('y1=abs(1./(5+i*t))'); %(3) t=linspace(-20,20,512); xlabel('t'); subplot(2,2,3),plot(t,sin(t),t,3*cos(t),'-.'); legend('sin(t)','3*cos(t)') %(4) a=[22 35 81 13]; a1=[20 19 19 19]; a2=[33 74 74 46]; a3=[41 84 52 67]; S=sum(a);S1=sum(a1); S2=sum(a2);S3=sum(a3); X=[S S1 S2 S3]; explode=[0 0 0 1]; subplot(2,2,4),pie(X,explode,{'产品A','产品B','产品C','产品D'});title('饼图'); 5、创建一个结构体,用于统计学生情况,包括学生的姓名、语文、英语成绩。然后使用该结构体对一个班级的学生成绩进行管理,如计算每个人的总分、平均分、排列名次。 代码如下: clc,clear all,close all student=struct('name',{'张三','李四','王五'},'chinese',{80,90,95},'english',{85,85,90}); for n=1:3 S(n)=student(n).chinese+student(n).english; end A=S./2; for n=1:3 student(n).S=S(n); student(n).A=A(n); end [r,c]=sort(S); for i=1:3 student(c(3-i+1)).R=i; end disp(['姓名 ',' chinese ',' english ',' 总分 ','平均分 ','排名 ']) for n=1:3 disp([student(n).name ' ' num2str(student(n).chinese) ' ' num2str(student(n).english) ' ' num2str(student(n).S) ' ' num2str(student(n).A) ' ' num2str(student(n).R)] ) end 本文来源:https://www.2haoxitong.net/k/doc/c76faba0783e0912a3162a0f.html
文档为doc格式