matlab离散数据绘图
2019-03-22 10:22 不做程序猿 阅读(2461) 评论(0) 编辑 收藏 举报1、用set命令添加标签的学生测试成绩图像
五位同学 Adrian、Jim、Joe、Sally、Sue在考试中的分数分别为50、98、75、80、98。将其绘制出来:
若开始使用如下代码:
x = [1:5];
y = [50,98,75,80,98];
plot(x,y,\'o\',x,y),set(gca,\'XTicklabel\',[\'Adrian\'; \'Jim\'; \'Joe\'; \'Sally\'; \'Sue\']),set(gca,\'XTick\',[1:5]),axis([1 5 0 100]),...
xlabel(\'学生\'),ylabel(\'期末成绩\'),title(\'2005年12月期末考试\');
则会提示 串联的矩阵的维度不一致
将上述代码更换为
x = [1:5];
y = [50,98,75,80,98];
plot(x,y,\'o\',x,y),set(gca,\'XTicklabel\',[\'001\'; \'002\'; \'003\'; \'004\'; \'005\']),set(gca,\'XTick\',[1:5]),axis([1 5 0 100]),...
xlabel(\'学生\'),ylabel(\'期末成绩\'),title(\'2005年12月期末考试\');
显示图像为:
2、使用二维条形图绘制图像,通过调用bar(x,y)函数:
x = [1:5];
y = [50,98,75,80,98];
bar(x,y),xlabel(\'学生\'),ylabel(\'分数\'),title(\'期末测试\');
结果显示如下:
3、用针状图绘制离散数据
例如绘制出函数 f(t) = e(-βt)sin(t/4) ,β =0.01,并假设它时某根弹簧的响应系数,设 t 在200秒内连续响应 :
t = [0:0.1:200];
f = exp(-0.01*t).*sin(t/4);
plot(t,f),xlabel(\'时间(秒)\'),ylabel(\'弹簧响应\');
绘制出图为:
若要从离散数据产生该图像,假设每隔5秒采样一次,则将时间t = [0:5:200]再作图即可,相应的图像会比较粗糙。
对于上述的离散的数据可以用针头图 stem(x,y) 表示:
t = [0:5:200];
f = exp(-0.01*t).*sin(t/4);
stem(t,f),xlabel(\'时间(秒)\'),ylabel(\'弹簧响应\'); %plot(x,y)使用的线条类型选项也能够用到stem(x,y)上;还可以向stem(x,y)传递 \'fill\' 参数选项让matlab填充标记。
%还可以自由的选择标记的样式,包括方块(s)、菱形(d)、五角星(p)、圆圈(o)、叉号(x)、星号(*)和点号(.)。
%例如使用菱形填充标记,绿色线条显示可使用下列代码:
%stem(t,f,\'--dg\',\'fill\'),xlabel(\'时间(秒)\'),ylabel(\'弹簧响应\');
图形显示如下: