У меня есть два 3D-массива, один содержит 3D-данные электрического поля, а другой - трехмерную маску объекта, который меня интересует, взяв произведение этих двух массивов me массив с электрическим полем только маски. Я успешно создал изоповерхность маски, но когда я пытаюсь сделать изоповерхность произведения маски и массива электрического поля, я получаю тот же график, что и при построении только маски (это всего лишь массив нулей и 1). Есть ли способ представить данные на изоповерхности?Данные о графике на изоповерхности в MatLab
На данный момент я просто кладу массивы в функции изоповерхности: isosurface(mask)
, что дает мне:
затем я пытаюсь построить продукт моей маски и массива данных:
isosurface(mask.*EArr)
и я получаю следующее:
Но если смотреть только один ломтик, используя код imagesc(mask(:,:,35).*EArr(:,:,35))
я получаю:
Что я ищу, чтобы сделать это, чтобы получить просмотра ломтиков последнего изображения в качестве 3D объекта похожи к тому, как я могу просматривать свою маску в виде 3D-объекта на первом снимке.
Пожалуйста, добавьте минимальный пример, чтобы люди могли видеть, что вы делаете. –
Спасибо, я обновил свой вопрос –
Я считаю, что 'isosurface' требует как минимум двух аргументов - данных и isovalue. Но вы называете это только одним аргументом, и в любом случае он дает сплошную поверхность, поэтому вы не можете «заглянуть внутрь». Возможно, попробуйте 'contour3'. –