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'.

我不知道如何解决这个问题,因为我不希望在一个图像中有多个图,这就是 multiplot 的用途。我该如何解决这个问题?

谢谢你的帮助!

4

0 回答 0