2016-09-14 4 views
-4

У меня есть большой набор необработанных данных, который соответствует смещению нагрузки, который я хотел бы построить. [Обратитесь к образцу здесь: http://pastebin.com/qgZGs39K]Поиск максимального значения y на графике

Я хочу сохранить данные смещения в массиве x и данных нагрузки в массиве y, затем график (x, y) и, наконец, найти максимальное значение для нагрузки на кривой ,

Если мое понимание верное, что-то вроде ymax = max (y) вернет максимальное значение в массиве, а не максимальное значение на графике. Может ли команда interp1 быть полезной здесь?

Заранее спасибо

+2

Но максимальное значение в массиве также является максимальным значением на графике ... Я не понимаю вашего вопроса – obchardon

+2

Pastebin удален, и в целом неясно, что вы ищете. - До тех пор, пока вы не добавите ясный пример ввода * и * вывода, я проголосовал за закрытие этого вопроса, поскольку неясно, о чем вы спрашиваете. –

+0

Извините, что не ясны. [Здесь] (http://pastebin.com/kvxUND7m) - перезагруженный CSV данных, а диаграмма [this] (http://imgur.com/a/08Dnb) должна уточнить мой запрос. Спасибо за ответ –

ответ

-2

Я не уверен, что у меня вопрос. Насколько я понимаю, вы построили данные, и вам нужен максимум на графике, а это означает, что вы хотите, чтобы максимальное количество интерполированных данных, другими словами, было для точек, которые не являются частью исходного набора x.

Если это вопрос, есть несколько вещей, чтобы сделать ясно. Во-первых, исходя из моих знаний, команда plot не интерполирует, она просто связывает каждую точку с соседней. Это означает, что максимальное значение в массиве - это точно максимальное значение на графике.

Возможность использовать команду interp1, команду, которую я раньше не встречал. Если посмотреть на руководство, по ссылке http://it.mathworks.com/help/matlab/ref/interp1.html?requestedDomain=www.mathworks.com, я понимаю, что он дает вам возможность интерполировать набор данных в точках, которые не являются оригинальными. Следовательно, я думаю, что это должно сработать. Вам просто нужно определить интерполирующую базу (точки x, в которых вы не знаете значение y в исходном наборе), что достаточно хорошо, чтобы получить желаемое разрешение.

Затем вы должны перейти с командой max на новый вектор. Будьте осторожны с interp1, вы должны выбрать правильный метод интерполяции, потому что некоторые из них (я думаю, например, линейный) не должны находить новое значение для y.

Я надеюсь, что это было полезно.

+0

«просто связывает каждую точку с соседней» - aka кусочно-линейную _interpolation_ – dasdingonesin

+0

Я знал это, вы можете ее вывести, когда я написал, что линейная интерполяция не даст никакой помощи. Посредством интерполяции я имел в виду то, что может быть полезно для вопроса. Но вы правы, я использовал эти слова не совсем так. Сожалею. –

+0

Привет. Спасибо за ответ на мой вопрос и извините за то, что я не понимаю. [Здесь] (http://pastebin.com/kvxUND7m) представляет собой перезагруженный CSV данных, а диаграмма [this] (http://imgur.com/a/08Dnb) должна помочь clarfiy –