Matlab GnuPlot:从不同的文件馈送每一列
我想从两个不同的数据文件中绘制一个3D图形。 第一个将具有Z数据,以以下方式存储,其中列具有不同的大小:Matlab GnuPlot:从不同的文件馈送每一列,matlab,gnuplot,Matlab,Gnuplot,我想从两个不同的数据文件中绘制一个3D图形。 第一个将具有Z数据,以以下方式存储,其中列具有不同的大小: X00 Z00 X10 Z10 X20 Z20... XN0 ZN0 X01 Z01 X11 Z11 X21 Z21 X02 Z02 X12 Z12 X22 Z23 .... X0A Z0A X1A Z1A X2A Z2A ... X
X00 Z00 X10 Z10 X20 Z20... XN0 ZN0
X01 Z01 X11 Z11 X21 Z21
X02 Z02 X12 Z12 X22 Z23
....
X0A Z0A X1A Z1A X2A Z2A ...
X1(A+1) Z1(A+1) X2(A+1) Z2(A+1) ...
...
X1B Z1B X2B Z2B
X1(B+1) Z1(B+1) X2(B+1) Z2(B+1) ...
...
X1C Z1C
X1(C+1) Z1(C+1)
第二个文件将以适当的格式包含Y数据:
Y00 Y10 Y20
...
我需要与以下matlab代码等效的代码,其中我已经分别读取了列,然后形成了相应的XZ矩阵数据。注意,“数据”矩阵是尺寸为2n x C的矩阵,其中C是最大列的最大尺寸。较短列的剩余不存在数据用“Nan”值填充。
有没有办法使用pm3d来实现这一点
yData=[1,2,3,5,7,10];
figure;
hold all;
for yIndex=1:length(yData)
col = yIndex*2;
colSize=length(data(:,col));
plot3(yData(yIndex)*ones(colSize),data(:,col-1),data(:,col));
end
xlabel('x');
ylabel('y');
zlabel('z');
grid on;
hold off;
您不能直接在gnuplot中执行此操作。使用任何外部脚本为gnuplot准备适当格式的数据。