LINUX.ORG.RU

[C++] mathgl Qt


0

1

Всем доброго времени суток.

Подскажите, в mathgl возможно построить графики по массивам координат, а потом его аппроксимировать ? т.е. график должен быть плавным и проходить через заданные координаты.

site:http://mathgl.sourceforge.net/ approximation
Учитесь сперва искать ответы в официальной документации. И да, abalakin наверняка сделал бы так же.

Кстати, сперва надо аппроксимировать, потом строить, конечно если узлы («проходить через заданные координаты») известны заранее, а не определяются визуально по построенному

adriano32 ★★★ ()
Ответ на: комментарий от adriano32

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

Spartan ()
Ответ на: комментарий от Spartan

Неужели нескольими методами нельзя построить плавную кривую через заданные координаты ?

Слышь, а ты не обнаглел?
Ты хочешь, чтоб __библиотека для визуализации данных__ вычисляла автоматически за тебя функцию аппроксимации?

>>графики по массивам координат, а потом его аппроксимировать
>>плавную кривую через заданные координаты

Эй, это разные вещи вообще-то. Для второго — site:http://mathgl.sourceforge.net/ spline, если ты хочешь отдельные точки массива плавно соединить.
Если ты хочешь массив данных заменить аналитической функцией, это задача других выч.пакетов, www.linux.org.ru/wiki/en/Инженерное_ПО тебе в помощь

adriano32 ★★★ ()
Ответ на: комментарий от adriano32

adriano32

если честно, то я не совсем понимаю как mathgl организует данные. для меня qwt была куда более понятней. Наглеть так наглеть - а может у тебя и примерчик использования завалялся ? А то элементарные вещи не получаются. кстати на х64 она постоянно вылетает, хотя наверно потому что я методы не в том порядке вызываю =)

Spartan ()
Ответ на: комментарий от Spartan

Вообще-то adriano32 прав — оба метода в MathGL есть: и подбор коэффициентов функции (так называемые фиттинг, регрессия и пр.), и сплайн интерполяция (полиномом 3-ей и 5-ой степени).

Spartan видимо интересует второе — наиболее простой способ использовать mglData::Resize(). Код будет выглядеть примерно так

// гладкая линия gr->Plot(x.Resize(100), y.Resize(100)); // метки исходных точек gr->Plot(x,y," +");

По поводу организации данных — см. http://mathgl.sourceforge.net/mathgl_ru/mathgl_ru_42.html

А вот об «вылетах» на 64bit лучше по подробнее. Какая ОС? какой компилятор? пример кода с вылетом? дамп памяти, стек вызовов и пр. информация тоже приветствуется.

abalakin ★★ ()
Ответ на: комментарий от abalakin

хм, интересно он интерполирует. Подскажите, так и должно быть, после интерполяции получается интересный график - кривая соединяет соседние точки сверху вниз ? получается как синусоида проходящая через заданные точки

Spartan ()
Ответ на: комментарий от Spartan

Почему бы нет. У сплайн интерполяции вполне могут быть выбросы.

abalakin ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.