What should be dimension of surf(X,Y,Z) 3D?

14 vues (au cours des 30 derniers jours)
vimal kumar chawda
vimal kumar chawda le 11 Juin 2021
I have profile of earth. Surface plot and dimension is not same so How can I plot ?
clc;
close all;
clear all;
format long g;
load('dtm.mat'); %% using old data sets
% plotting the value %%
figure()
title('DTM of the surface of Mountain')
surf(transpose(hw),rw,Z);
xlabel('Longitude')
ylabel('Lateral')
zlabel('Vertical height')
  2 commentaires
SALAH ALRABEEI
SALAH ALRABEEI le 11 Juin 2021
what is the size of each variable!!
vimal kumar chawda
vimal kumar chawda le 11 Juin 2021
Please check in dtm.mat attachment. Its hw=x=1*451 or rw=y=1*501 and z = 451*501. But my error is dimension should be same in surf. How can I deal with it?

Connectez-vous pour commenter.

Réponses (2)

Kelly Kearney
Kelly Kearney le 11 Juin 2021
You just need to transpose Z:
surf(hw, rw, Z')

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 12 Juin 2021
There are a few errs and missing points in your code. Here is the corrected complete code.
clearvars;
format long g;
load('dtm.mat'); %% using old data sets
% plotting the value %%
[Hw, Rw] = meshgrid(hw, rw); % Meshgrid is required for 3D plots for x, y axes
figure()
title('DTM of the surface of Mountain')
surf(Hw,Rw,Z'); % Transpose of Z is necessary here
xlabel('Longitude')
ylabel('Lateral')
zlabel('Vertical height')

Produits


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by