Получить координаты Z, дающие X, Y в Matlab

#matlab #mesh

#matlab #сетка

Вопрос:

У меня есть несколько сеток с x y z интерполяцией. Я хочу получить z из каждой сетки с одинаковыми x и y . Например. Я хочу знать, какое значение имеет z x=13 y=0.20 для каждой сетки

 [x y z]=meshgrid(x,y,z)
[x1 y1 z1]=meshgrid(x1,y1,z1)
[x2 y2 z2]=meshgrid(x2,y2,z2)

zOfxy=getz(13,0.20)
z1Ofx1y1=getz(13, 0.20)
z2Ofx2y2=getz(13, 0.20)
  

Есть ли какая-либо готовая функция? Я знаю, что могу построить его и получить значения из него, но очень сложно получить точные данные z

Комментарии:

1. [X Y Z]=meshgrid(x,y,z) возвращает 3D-массивы со всеми значениями в диапазоне z для каждого значения в x и y . То же самое для других перестановок. Если вас смущает то, что вы делаете, и то, что вы хотите сделать, прочитайте meshgrid .

2. Вам нужен какой-то словарь?

3. @erfan Я не нашел ничего полезного в вашей ссылке.

4. @Nic Я не понимаю вашего вопроса

5. Функция meshgrid возвращает таблицу значений [x y z]. Например: [x1 y1 z1; x2 y2 z2; …. xn yn zn ] . Вам нужна функция, возвращающая z2, если вы вызываете getz(x2,y2). Это правильно? В качестве альтернативы, вы хотите создать новую 3D-точку для параметра x и y?

Ответ №1:

Я не думаю, что есть встроенная функция для извлечения всех связанных значений z для данного кортежа x-y. Поскольку массивы значений X и Y отсортированы, вы могли бы использовать поиск по Фибоначчи. Вычислительная сложность должна быть O (log n * log m) , где n — мощность X, а m — мощность Y.