私が実行している物理実験のプロットを生成する、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 のようです。これを修正するにはどうすればよいですか?
ご協力いただきありがとうございます!