Matlab画曲线
发布日期:2021-05-27 02:54:43 浏览次数:27 分类:技术文章

本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Ubuntu系统下安装Myeclipse10.6
下一篇:Twister—迭代MapReduce

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年07月03日 22时22分32秒