exponenta event banner

Отображение оптимизации с использованием векторных данных

Данные ветрового картографирования

Набор векторных данных MATLAB ® называетсяwind представляет собой воздушные течения над Северной Америкой. В этом примере используется комбинация методов:

  • Линии потока для отслеживания скорости ветра

  • Секущие плоскости для отображения поперечных сечений данных

  • Контуры на плоскостях среза для улучшения видимости раскраски плоскости среза

1. Определение диапазона координат

Загрузите данные и определите минимальные и максимальные значения для определения местоположения плоскостей среза и контурных графиков (load, min, max).

load wind
xmin = min(x(:));
xmax = max(x(:));
ymax = max(y(:));
zmin = min(z(:));

2. Добавить секущие плоскости для визуального контекста

Вычислите величину векторного поля (которое представляет скорость ветра) для генерации скалярных данных для slice команда. Создание плоскостей среза вдоль оси X в xmin, 100, и xmax, вдоль оси y при ymaxи вдоль оси z при zmin. Задайте интерполированную раскраску грани, чтобы раскраска среза указывала на скорость ветра и не рисовала кромки (sqrt, slice, FaceColor, EdgeColor).

wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hsurfaces = slice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin);
set(hsurfaces,'FaceColor','interp','EdgeColor','none')
colormap turbo

3. Добавление горизонталей к плоскостям среза

Нарисуйте светло-серые контурные линии на плоскостях срезов, чтобы определить соответствие цветов (contourslice, EdgeColor, LineWidth).

hcont = ...
contourslice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin);
set(hcont,'EdgeColor',[0.7 0.7 0.7],'LineWidth',0.5)

4. Определение начальных точек для линий потока

В этом примере все линии потока начинаются со значения оси x, равного 80, и охватывают диапазон от 20 до 50 в направлении y и от 0 до 15 в направлении z. Сохраните маркеры линий потока и задайте ширину и цвет линии (meshgrid, streamline, LineWidth, Color).

[sx,sy,sz] = meshgrid(80,20:10:50,0:5:15);
hlines = streamline(x,y,z,u,v,w,sx,sy,sz);
set(hlines,'LineWidth',2,'Color','r')

5. Определение вида

Настройте вид, развернув ось Z, чтобы облегчить чтение графика (view, daspect, axis).

view(3)
daspect([2,2,1])
axis tight

Посмотрите coneplot для примера тех же данных, нанесенных на график конусами.