Вычтите два участка трисурфа друг от друга - PullRequest
1 голос
/ 18 октября 2010

У меня есть два набора векторов данных X, Y, Z и X2, Y2, Z2

В настоящее время я строю их, используя trisurf на разных графиках. Могу ли я построить их на одном графике, даже если X Y и X2 Y2 разные. Можно ли вычесть участки поверхности?

1 Ответ

2 голосов
/ 18 октября 2010

Да, вы можете нанести 2 трисурфа на одном участке. Просто используйте hold on после первого звонка и hold off в конце.

Чтобы вычесть один трехцветный график из другого, я думаю, вам нужно интерполировать один набор координат X / Y в другой. Попробуйте использовать INTERP2 для этого:

Z2i = interp2(X2,Y2,Z2,X,Y);
tri = delaunay(X,Y);
trisurf(tri,X,Y,Z) % first plot
hold on
trisurf(tri,X2,Y2,Z2) % second plot
trisurf(tri,X,Y,Z2-Z2i) % difference
hold off

Надеюсь, это сработает, если ваши данные x и y в обоих наборах находятся в одном регионе.

РЕДАКТИРОВАТЬ: Используйте INTERP2 для X и Y, сгенерированных сеткой. Для векторов и как использовать TriScatteredInterp см. Другой вопрос SO: Как создать трехмерную поверхность из изолиний?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...