Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.89
Lavios
62 / 62 / 2
Регистрация: 27.01.2011
Сообщений: 250
#1

Кусочно-линейная аппроксимация - C++

16.03.2012, 22:03. Просмотров 3552. Ответов 5
Метки нет (Все метки)

Добрый времени суток всем.
Необходима помощь в написание алгоритма кусочно-линейной аппроксимации. У меня дана таблица зависимости, грубо говоря градуировка сигнала x(Вход) и y(Выход).
Например:
x y
4 10
5 15
10 30

К примеру при входном сигнале 7, нужно определить в какой диапазон X-a попадает данное число, а потом применив алгоритм кусочно-линейной аппроксимации определить y.

Заранее благодарю за любую оказанную помощ

Добавлено через 20 часов 41 минуту
up.
И нафига переместили тему?)

Добавлено через 4 часа 8 минут
Едим вверх, до сих пор нужна помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 22:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кусочно-линейная аппроксимация (C++):

Кусочно-линейная аппроксимация - C++
Здравствуйте. Задача: есть два массива X и Y (с одинаковым количеством элементов - по 19). Необходимо установить зависимость между...

Кусочно-линейная функция - C++
Разработайте программу для вычисления значений функции приведенной на графике, исходя из предложения, что при X<-2 и при X>5 поведение...

Линейная аппроксимация значений - C++
Ребят, дали такую задачу на практику, но прочитав 4 раза условие задачи уровень понимания так и остался на том же уровне. Может кто-либо...

Аппроксимация.Линейная интерполяция - C++
Здравствуйте!Помогите,пожалуйста,найти ошибку в коде.Высчитывает неверные корни. #include<iostream> #include<math.h> using namespace...

Линейная аппроксимация: метод наименьших квадратов (МНК) - C++
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h> // Задание начального набора значений double **...

Табулирование кусочно непрерывной функции. - C++
Помогите пожалуйста с решением задачи. Выводить по диагонали снизу вверх слева направо в формате f(x)=y через паузы по 5 секунд порциями...

5
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
16.03.2012, 22:48 #2
А в чём вообще проблема? Какие трудности-то? Математика простейшая: находим отрезок x1 < x < x2, вычисляем вес для y1: w1 = (x2 - x) / (x2 - x1), вес для точки y2: w2 = (x - x1) / (x2 - x1), складываем: y(x) = y1*w1 + y2*w2
1
Lavios
62 / 62 / 2
Регистрация: 27.01.2011
Сообщений: 250
17.03.2012, 15:30  [ТС] #3
Еще возник вопрос, как оптимизировать хранение таблиц, поиск по ним и т.д. Так как входных сигналов может быть > 1000

Добавлено через 6 минут
забыл, с некоторой частотой - т.е. намного больше 1000 в секунду
0
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
18.03.2012, 09:12 #4
Если сами данные в процессе работы не изменяются, то проще и удобнее всего разместить их в непрерывном массиве, лучше всего в std::vector. Лучше даже в двух - отдельно X, отдельно Y. Поскольку X в такой таблице будет упорядочен по возрастанию, для поиска нужного отрезка следует воспользоваться бинарным поиском, он очень быстрый. Если по каким-то неведомым причинам в исходных данных X не упорядочен по возрастанию, данные следует сначала упорядочить.
1
Lavios
62 / 62 / 2
Регистрация: 27.01.2011
Сообщений: 250
18.03.2012, 14:45  [ТС] #5
Цитата Сообщение от Nick Alte Посмотреть сообщение
Если сами данные в процессе работы не изменяются, то проще и удобнее всего разместить их в непрерывном массиве, лучше всего в std::vector. Лучше даже в двух - отдельно X, отдельно Y. Поскольку X в такой таблице будет упорядочен по возрастанию, для поиска нужного отрезка следует воспользоваться бинарным поиском, он очень быстрый. Если по каким-то неведомым причинам в исходных данных X не упорядочен по возрастанию, данные следует сначала упорядочить.
Возможно использование буста, если более быстрые методы у него, не подскажите?
0
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
18.03.2012, 17:51 #6
В данном случае STL за глаза хватит. И контейнеры, и бинарный поиск там быстры настолько, что нет смысла искать что-то лучше.
1
18.03.2012, 17:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2012, 17:51
Привет! Вот еще темы с ответами:

Табулирование кусочно-непрерывной функции - C++
Нужна программа по табулированию кус.-непр. функции. Помогите пожалуйста. Система образования убивает, ты приходишь с 0 знаниями с++ и...

Вычислить значение кусочно заданной функции - C++
Первый день знакомлюсь с С++, еще плохо в нем ориентируюсь, компилятор указал 3 error и 8 warning. Подскажите что не так, пожалуйста. ...

Вычислить значение кусочно заданной функции - C++
Здравствуйте! прошу помочь с программой

Найти значение кусочно-непрерывной функции - C++


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru