
本文共 1411 字,大约阅读时间需要 4 分钟。
用matlab画曲线的方法如下:
1、matlab把数组写到文件中
如果想把MATLAB里面的一个数组写到文件里面去,比如txt文件,可以用如下的方法:
假如要写入文件的数组为I,其大小为[M,N] fid=fopen('outfile.txt','w'); for i=1:M for j=1:N fprintf(fid,'%f ',I(i,j)); %把数据写到文件,以float形式写入,也可以为其它的格式,如%d。end
fprintf('\n'); end fclose(fid);
如果想读取文件里面的数据并存到数组。可以用如下的方法:
fid=fopen('outfile.txt','r');
for i=1:M for j=1:N B(i,j)=fscanf(fid,'%f',1); end end fclose(fid);%读取文件中的数据。这里fscanf函数里面的第三个参数控制一次读入的数据个数。如果缺省的话,则表示读入文件里面的所有数据。这样读入进来的数据我试了一下,是以一列的形式存放的。也即数据大小为[N,1],N为文件中总的数据量。
如果文件的数据如下: 1 2 5 2 6 5 2 3 6 则读入进来后变成: 1 2 5 2 6 5 2 3 6 如果指定第三个参数,则一次按第三个参数指定的量读入数据。2、
改变坐标轴显示数值,可以用:set(gca,'xtick',xtick,'xticklabel',xticklabel) ;
gca表示Get Current Axis的Handle,xtick表示显示刻度的位置,xticklabel表示显示的内容。
3、根据数组画一组曲线,其一行数据为一条曲线,其刻度设置,线型设置,线型颜色设置等
如:
fid=fopen('a.txt','r');
for i=1:365
for j=1:48
B(i,j)=fscanf(fid,'%f,',1);
end
end
fclose(fid);
figure;
hold on;
x=1:48;
for k=1:365
plot(x,B(k,:));
end
axis([1,48,200,1200])
set(gca,'XTick',[2:2:48])
xlabel('时刻t');
ylabel('负荷数据');
显示网格:grid on
只显示横网格:set(gca,'xgrid','on')
如:
fid=fopen('aa.txt','r');
for i=1:3 for j=1:6 B(i,j)=fscanf(fid,'%f,',1); end end fclose(fid); figure; hold on; x=[1 2:2:10]; plot(x,B(1,:),'-s','MarkerSize',4); plot(x,B(2,:),'-d','MarkerSize',5); plot(x,B(3,:),'-x','MarkerSize',7); axis([1,10,0,3]) set(gca,'XTick',[1:1:10]) set(gca,'YTick',[0:0.5:3]) xlabel('节点数'); ylabel('Speedup'); legend('2倍大小','4倍大小','8倍大小') set(gca,'ygrid','on')转载地址:https://blog.csdn.net/leijie0322/article/details/46333773 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关于作者
