matlab大作业实验报告

发布时间:2015-12-20 15:43:18   来源:文档文库   
字号:

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按照脚本文件的编程风格,用forwhile循环嵌套输出如下的乘法口诀表。

代码如下:

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),绘制双y轴图形。

4) 某公司一年中销售4种产品ABCD,每季度对利润的贡献如下表所示,求一年中哪种产品对公司的利润贡献最大,并将其从饼图中分离出来,要求标明各块所代表的产品。

代码如下:

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

《matlab大作业实验报告.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式