Matlab: поиск максимальной YData среди массива строк - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть следующий скрипт Matlab

x = linspace(0, 2, 11);
l = plot(x, x, x, x.^2, x, x.^3);

объект l является 3×1 Line array. Если я наберу в командной строке l.Ydata, это даст Ydata для трех элементов. Есть ли способ получить глобальный max из Ydata для всего массива (без цикла)?

РЕДАКТИРОВАТЬ: тривиальное решение

M = max(max(max(l(1).YData), max(l(2).YData)), max(l(3).YData));

тривиально, ноэто не то, что я ищу. Я хотел бы что-то, что обобщает на больших массивах.

1 Ответ

1 голос
/ 06 ноября 2019

Вы можете получить доступ ко всем YData свойствам l, используя l(:).YData.

Обведя это в квадратные скобки, мы можем объединить их все в один массив и найти максимум:

m = max( [l(:).YData] );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...