MATLAB实验及程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一
a=[1,2,3;4,5,6;7,8,9] b= repmat(a,2,2)
B(24)=9
实验二
1、使用matlab命令统计randn(5)生成的矩阵里,有多少个元素小于0,将
小于0元素个数存变量c中并将这些小于零元素存变量d中。(实验报告
要求:写出命令)
a=randn(5)
b=find(a<0);
c=length(find(a<0))
d=a(b)
2、建立一个字符数组,内容如下所示:(实验报告要求:写出命令)
A B C D
E F G H
a b c d
a=['A B C D'
'E F G H'
'a b c d']
3、已知有一个矩阵A(假如不知道其具体信息),请计算其元素个数(请先用实际矩阵来验证计算方法是否正确)。(实验报告要求:写出正确计算方法的命令)A=randn(3,4)
B=numel(A)
4、已知有一个元胞数组B=[{ones(2,3,2)},{'Hello, Matlab'};{[4 5 6]},{1:100}],想获取字符串'Matlab',应输入什么命令?(实验报告要求:写出命令)
f=B{1,2}(7:end)
5、要从上题所建元胞数组B中获取列向量[4;5;6],可以有哪几种方法?(实验报告要求:写出命令及结果)
方法1: i=B{2,1}(:)
方法2: j=reshape(B{2,1},3,1)
6、已知有两个学生的信息如下,请在matlab中创建结构对其进行存储,并算
=['姓名'
'张三'
'李四']
student.shuxue=[87
78]
student.yuwen=[75
81 ]
student.yingyu=[55
60]
实验三
实验四:二维绘图
(1)在同一个窗体(figure1)中画出正弦函数和余弦函数的图象。要求如下:
◆正弦图象用蓝色实线,时标用方格;
◆余弦图象用黄色虚线,时标选向下三角形;
◆为整个图像加中文标题;
◆为x和y轴加轴标题;
◆改x轴的单位为pi/2的倍数;
◆增加图例;
◆在图中合适的位置增加“正弦曲线”和“余弦曲线”两处文本信息。
答:程序:
x1=0:0.05*pi:6;
y1=sin(x1);
figure(1);
x2=0:0.05*pi:6;
y2=cos(x2);
plot(x1,y1,'b-s',x2,y2,'y--v');
legend('y1=sin(x1)','y2=cos(x2)')
title('函数图像');
xlabel('横坐标');
ylabel('纵坐标');
(2)在另一个窗体(figure2)中划分子图如下图所示,并在第一个子图上绘制正弦函数曲线,在第二个子图上绘制余弦函数曲线,在第三个子图上同时绘制正弦函数和余弦函数。
答:程序:
x1=0:0.05*pi:6;
y1=sin(x1);
figure(1);
subplot(2,2,1);
plot(x1,y1,'b-');
x2=0:0.05*pi:6;
y2=cos(x2);
subplot(2,2,2);
plot(x2,y2,'b-');
subplot(2,2,[3 4]);
plot(x1,y1,'b-',x2,y2,'g-');
(3)已知某体育联盟几支球队近几年战绩如下表所示,请分别使用垂直条状图和三维垂直条状图显示表格中的数据。并用饼形图表示2011年各队的胜场数,
答:
垂直条状图:
x=2008:2011;
data=[56 50 60 48;51 48 58 46;53 47 57 47;55 45 37 49];
bar(x,data);grid on;
title('垂直条状图(3D)');
legend('湖人','火箭','骑士','太阳');
xlabel('年份');
ylabel('胜场数');
三维垂直条状图:
x=2008:2011;
data=[56 50 60 48;51 48 58 46;53 47 57 47;55 45 37 49];
bar3h(x,data);grid on;
title('3维垂直条状图(3D)');
legend('湖人','火箭','骑士','太阳');
zlabel('年份');
xlabel('胜场数');
饼状图:
a=[55 45 37 49];
pie(a);
legend('湖人','火箭','骑士','太阳');
实验五:三维绘图
设计一个M 脚本文件,完成下列三维绘图功能:
1. 分别用mesh 、meshc 、meshz 在不同的图形窗口中绘制如下函数的三维网格曲面,其中mesh 的效果如右图所示:
2
222)
sin(y x y x z ++=
程序:
x = linspace(-10, 10, 50); y= linspace(-10, 10, 50); [x,y]=meshgrid(x,y);
z=sin(sqrt(x.*x+y.*y))./(sqrt(x.*x+y.*y));
2. 分别用surf 和surfc 命令在不同的图 形窗口中绘制以下函数的曲面图,其中 Surf 命令的效果如右图所示:
)
cos()sin(y x e e z +=
要求:不显示曲面上的格线,加上图标题 和三个轴的轴标题。
注:程序中请加上必要的注释。 答:程序:
x = linspace(0, 10, 50); y= linspace(0, 10, 50); [x,y]=meshgrid(x,y);
z=sqrt(exp(sin(x)) + exp(cos(y))); surf(x,y,z);
shading faceted; shading flat;
shading interp;;surf(x,y,z);axis([0 10 0 10 0.5 2.5]); xlabel('X 轴'); ylabel('Y 轴'); zlabel('Z 轴');
title('三维绘图例子)');