MATLAB教程系列-台大-06 exercise

1. 利用stem()函数进行绘图小练习

要求:

Plot a function: 

Add the points sampled at 5 Hz using stem()

程序:

clear;
hold on;
x = 0:0.01:10;
y = sin (pi.*x.^2/4);
plot(x,y);
t = 0:0.2:10;
f = sin (pi.*t.^2/4);
stem(t,f,'r');
hold off;

结果:

MATLAB教程系列-台大-06 exercise_第1张图片

需要注意的问题:

sin函数和stem()函数的横坐标选择应该不同,sin函数的应该更精确一些,stem函数按照频率的要求来选择,否则可能会出现sin函数过尖锐的情况。如下图:

MATLAB教程系列-台大-06 exercise_第2张图片

2. 利用fill()函数绘制一些标志

代码:

t =0:pi/2:2*pi; x = sin(t); y = cos(t);
h = fill(x,y,'y');
set(h,'LineWidth',5);
axis square off;
text(0,0,'WAIT','Color', 'k', 'FontSize', 76, ...
'FontWeight','bold', 'HorizontalAlignment', 'center');

结果:

MATLAB教程系列-台大-06 exercise_第3张图片

3. 在Matlab中修改条形图的颜色

代码:

G = [46 38 29 24 13]; S = [29 27 17 26 8];
B = [29 23 19 32 7]; h = bar(1:5, [G' S' B']);
set(h(1),'FaceColor',[0.8 0.8 0.4]);
set(h(2),'FaceColor',[0.6 0.6 0.6]);
set(h(3),'FaceColor',[0.6 0.4 0]);
title('Medal count for top 5 countries in 2012 Olympics');
ylabel('Number of medals'); xlabel('Country');
legend('Gold', 'Silver', 'Bronze')

 结果:

MATLAB教程系列-台大-06 exercise_第4张图片

注:0~1之间的颜色值是通过老师给的颜色表(十六进制)转换得到的。

如果不修改颜色,matlab的默认结果为:

MATLAB教程系列-台大-06 exercise_第5张图片

附上老师给出的颜色表:

MATLAB教程系列-台大-06 exercise_第6张图片

4. 用contourf()函数画出等值线图,并调整间隔

代码:

x = -2:0.01:2; y = -2:0.01:2;
[X,Y] = meshgrid(x,y); Z = X.*exp(-X.^2-Y.^2);
contourf(X,Y,Z); axis square;
[C,h] = contourf(X,Y,Z);
clabel(C,h,'FontSize',10); axis square;
colormap(jet);
set(h,'LevelStep',0.05)

结果:

MATLAB教程系列-台大-06 exercise_第7张图片

注:

间隔由levelstep调整,clabel标注出等值线上的数字,颜色配比由colormap(jet)决定。

你可能感兴趣的:(Matlab学习)