2

私が実行している物理実験のプロットを生成する、Octave で実行する (ただし、matlab では完全に正常に実行される) コードがいくつかあります。古いコードを使用するだけで、毎回異なるデータファイルを読み込むことで、これらのプロットを数百個生成できればよいと判断しました (別のプログラムでこれらを生成します)。

だから私は私の古いコードを取った:

for u=1:2

f=num2str(u)

xdim=801;
ydim=801;

%ask matlab to create a figure

figure;

filename=strcat('data',f,'.txt')

field=load(filename);

xx=field(:,1); 
yy=field(:,2); 
zz=field(:,3); 

for i=1:xdim
    x1p(i)=xx((i-1)*ydim+1); 
    for j=1:ydim
      z1p(j,i)=(zz((i-1)*ydim+j));
    end
end 


for k=1:ydim
  y1p(k)=yy(k);
end


grid off; 
axis on; 
axis equal; 

%--------------------
% surface plots
%-------------------

surf(x1p,y1p,z1p);

colorbar(); %put a colorbar showing mapping 
                  %between colors and values

title_str=strcat("A map of the Electric Field Strength: m=-5 to 5 eps=100 wa/c=",f)
title(title_str); 
xlabel("x");
ylabel("y"); 

shading interp;   %gives usually best view interpolates between grids
colormap('jet');  %choose the colormap other options hsv,cool,hot e.t.c.

jpg_str=strcat('surf_',f,'.jpg')

print -djpeg jpg_str
end

そして、すべてを最初の for ループに入れるだけです。残念ながら、このエラーが返されます:

multiplot> unset view;
^
line 0: Unrecognized option.  See 'help unset'.

1つの画像に複数のプロットを入れたくないので、この問題を修正する方法がわかりません。これが multiplot のようです。これを修正するにはどうすればよいですか?

ご協力いただきありがとうございます!

4

0 に答える 0