Я хочу построить поверхность Z произвольных заданных значений для каждой пары X, Y.

Я обычно ИМПОРТирую таблицы с данными X, Y, Z, поэтому они не являются матрицей.

Пример показан ниже:

1 1 0.171121066356432

1 2 0.0326008205305280

1 3 0.561199792709660

2 1 0.881866500451810

2 2 0.669175304534394

2 3 0.190433267179954

3 1 0.368916546063895

3 2 0.460725937260412

3 3 0.981637950970750

Я попробовал следующие строки, чтобы построить поверхность

[X,Y] = сетка(1:1:3, 1:1:3);

Z=ранд(9,1);

прибой (X, Y, Z)

Но я получаю следующую ошибку:

??? Ошибка при использовании ==› серфинга на 78

Z должен быть матрицей, а не скаляром или вектором.

Ошибка в ==› Без названия2 в 5

прибой (X, Y, Z)

Вопрос: я заменил координаты x,y на функцию meshgrid, но что мне делать со значениями Z?

Я в курсе, что Z не матрица, но проблема именно в этом!!!

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю справку по домашним заданиям MatLab, справку по назначению MatLab, помощь по финансам для студентов, инженеров и исследователей в нескольких отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для B.E, B .Tech, ME, M.Tech, Ph.D. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

[ux, ax, bx] = unique(YourTable(:,1));
[uy, ay, by] = unique(YourTable(:,2));
[X, Y] = ndgrid(ux, uy);
Z = accumarray( [bx(:),by(:)], YourTable(:,3), [], NaN );
surf(X,Y,Z);

Этот код даже усреднит z записей, если есть несколько пар (x, y) с разными z.

Если я все сделал правильно, ему не нужно вводить неотрицательные целые числа в первые два столбца таблицы.

Я настроил код так, что если есть какая-то комбинация (x,y), для которой нет табличного значения, то NaN будет вставлено как значение Z. Surf() понимает, что NaN означает не строить этот квадрат. Но вместо этого вы можете поместить любое другое числовое значение с фиксированным значением. В частности, в особом случае, когда вы хотите 0 вместо отсутствующих значений, вы можете сократить вызов accumarray до

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ