Вы можете разбить проблему на две подзадачи:
- Интерполяция
- Визуализация
Давайте сначала посмотрим на интерполяцию. Доступно много методов, но давайте попробуем функцию MATLAB griddatan
. Это будет интерполировать (линейно) значения на новый набор точек (здесь я использовал регулярную сетку, построенную с использованием meshgrid
).
M = 20;
N = 20;
L = 40;
T = transpose(T);
% Set up the grid of points we wish to interpolate at
[xi,yi,zi] = meshgrid(linspace(0,10,M),linspace(0,10,N),linspace(0,20,L));
% Perform interpolation
ti = griddatan([X,Y,Z],T,[xi(:),yi(:),zi(:)]);
% Reshape back from a column vector to a MxNxL matrix
ti = reshape(ti, size(xi));
% Visualise in some way
scatter3(xi(:),yi(:),zi(:),400,ti(:),'.')
Когда дело доходит до визуализации, тогда предел неба и трехмерная визуализация объема - больше искусство, чем наука. Боюсь, я не могу запустить ваш пример (у меня нет доступа к makerefmat
), но http://www.mathworks.co.uk/help/techdoc/visualize/bqliccy.html имеет несколько хороших отправных точек.