Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.07.28;
Скачать: [xml.tar.bz2];

Вниз

Нужен алгоритм.   Найти похожие ветки 

 
Германн ©   (2013-03-03 02:05) [0]

Я уже много лет помогаю моему старому товарищу поддерживать разработанный им прибор (газоанализатор). Обычно всегда есть ситуации, когда датчик предназначенный для измерения одного газа чувствует и некоторые другие газы. Это легко обходится вычислением при калибровке прибора т.н. "перекрестных коэффициентов".
Но вот сейчас впервые возникла ситуация когда есть два датчика для двух газов, которые имеют чувствительность к обоим газам.
Понимаю что в общем случае такая задача нерешаема. Но в данном случае есть то обстоятельство, что чувствительность датчика1 к газу2 "существенно" меньше, чем чувствительность датчика2 к газу1.
Степень "существенности" я пока не знаю точно.
Вот и вопрос. Получить перекрестные коэффициенты - нет проблем. А вот знает ли кто алгоритм как эти перекрестные коэффициенты можно использовать в при измерении?


 
Smile   (2013-03-03 08:45) [1]

Несколько параллельных замеров различных концентраций газа родным и не родным датчиками.
А дальше простор для определения перекрестных коэффициентов.


 
MBo ©   (2013-03-03 12:54) [2]

>Понимаю что в общем случае такая задача нерешаема.
Если чувствительность датчиков к газам разная, то такая задача как раз проще, чем для одного датчика - например, для (простого случая) линейной чувствительности - система из двух линейных уравнений с двумя неизвстными.
Думаю, проблема всё же сложнее, чем пока описано.


 
Smile   (2013-03-03 13:23) [3]

А мне не совсем понятна фраза (оборот): "алгоритм как эти перекрестные коэффициенты можно использовать в при измерении?"


 
Pavia ©   (2013-03-03 13:25) [4]

В общем случае задачка не решается.
1. Надо построить график.
Типо такого
http://www.bestreferat.ru/images/paper/40/95/4399540.jpeg
По оси x значения от первого датчика.
По оси y значения от второго датчика. Точкой или звездочкой или цветом обозначаешь газ 1 и газ 2.
2. По графику будет видно. Куда дальше действовать, линейное разделение нелинейное. На картинке выше показано идеальное разделение.  На практике такого может и не быть и граница между классами будет размыта.

Далее можно минимизировать ошибку разбиения на классы с учётом мощности классов. Это вам надо в сторону расстояния Махаланобиса смотреть.  Или хотя бы в сторону собственных чисел матрицы.

Допустим вы сделали измерения двумя датчиками.
х1,х2 умножаем на матрицу (не помню надо смотреть как называется)
Получаем новую пару с более лучшем разделением на 2 газа  чем есть сейчас.

PS. Не стоит надеется на то что результат вас устроит скорее всего он будет чуть лучше чем есть сейчас.


 
Pavia ©   (2013-03-03 13:27) [5]


> А мне не совсем понятна фраза (оборот):

Тут речь идёт о косвенных измерениях.


 
Германн ©   (2013-03-03 15:31) [6]


> MBo ©   (03.03.13 12:54) [2]
>
> >Понимаю что в общем случае такая задача нерешаема.
> Если чувствительность датчиков к газам разная, то такая
> задача как раз проще, чем для одного датчика - например,
>  для (простого случая) линейной чувствительности - система
> из двух линейных уравнений с двумя неизвстными.
> Думаю, проблема всё же сложнее, чем пока описано.

Вот ведь зашоренность мышления!
О решении системы уравнений я даже и не подумал (((
Буду думать в этом направлении. Спасибо, Борис.

P.S.
А проблема действительно сложнее.
Во-первых датчик газа 2 чувствует не только газ 1, но и газы 3 и 4.
Во-вторых у меня пока в руках только целочисленная арифметика. Ввести арифметику с плавающей точкой боюсь не смогу. Не влезет в память.


 
alexdn ©   (2013-03-03 16:05) [7]

> Германн ©   (03.03.13 15:31) [6]
Я бы ещё посмотрел металлоискатели, они тоже на несколько металлов работают, ну так, на всякий случай..


 
Jeer ©   (2013-03-04 09:44) [8]

См. планирование многофакторного эксперимента.


 
robt   (2013-03-04 13:41) [9]

Удалено модератором


 
Smile   (2013-03-04 14:02) [10]

Smile   (03.03.13 08:45) [1]
Несколько параллельных замеров различных концентраций газа родным и не родным датчиками.
А дальше простор для определения перекрестных коэффициентов


Это разовая операция, строится математическая модель для "перекрестных коэффициентов", и только потом прошивается "модель" непосредственно в датчики
Успеха и понимания в решении поставленной (описаноой, как мне представляется) задачи


 
Sha ©   (2013-03-04 14:33) [11]

> Германн

Возможны варианты.

Чувствительность к своему газу:
1 константа,
2 зависит от концентрации измеряемого газа,
3 зависит от концентрации других газов.

Какой из них у тебя? Вид функции?


 
Inovet ©   (2013-03-04 14:36) [12]

> [11] Sha ©   (04.03.13 14:33)
> 3 зависит от концентрации других газов.

Это более правдоподобно.


 
Inovet ©   (2013-03-04 14:37) [13]

> [12] Inovet ©   (04.03.13 14:36)
> 3 зависит от концентрации других газов.

зависит И от концентрации других газов.


 
Sha ©   (2013-03-04 14:45) [14]

ну, если f1(x1)=a*f2(b*x2), то все еще не так плохо


 
Jeer ©   (2013-03-04 15:45) [15]

Обычно правдоподобным является сведение к варианту:
y = a*x1 + b*x2 + c*x1*x2;

ну а там - хто ж его знает, как на самом деле:)


 
Inovet ©   (2013-03-04 16:03) [16]

> [15] Jeer ©   (04.03.13 15:45)
> y = a*x1 + b*x2 + c*x1*x2;

Квадраты не надо?


 
Jeer ©   (2013-03-04 16:58) [17]

Это минимальная взаимозависимость.


 
Германн ©   (2013-03-05 01:46) [18]

Прошу прощения, что потревожил.
Ситуация самая простая. Достаточно решить систему из двух линейных уравнений первой степени.
Сложность только в ограниченности возможностей того гибридного компилятора, который я вынужден (исторически) использовать и ограниченного количества доступной мне программной памяти.
Из-за этого мне просто и не вспоминались "алгоритмы" из начальной школы (((

Сейчас придумываю алгоритм вычисления "решения системы двух уравнений" для целочисленной арифметики с допустимой точностью.


 
MBo ©   (2013-03-05 05:49) [19]

Парциальные чувствительности дачиков к газам - считаются постоянными, или их определение требует регулярной перекалибровки?
Я к тому, что в первом случае InvDet вычисляется заранее как M/2^k и всё в целых числах считается
a*x+b*y=c
d*x+e*y=f
Det=a*e - d*b
InvDet=1/Det
InvDet=M/2^k   //находится хорошее приближение
y= M *(a*f - d*c) shr k          //сдвиг с учётом знака, конечно
x= M * (c*e - f*b)  shr k


 
Германн ©   (2013-03-06 01:31) [20]


> MBo ©   (05.03.13 05:49) [19]

Спасибо, Борис за подсказку в MBo ©   (03.03.13 12:54) [2]
Далее уже мои "особые" проблемы, беспокоить которыми никого не хочу ибо в их решении мне никто,кроме меня самого, помочь не сможет.

P.S. Прошу модераторов закрыть обсуждение в этой ветке.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.07.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.003 c
15-1362377389
O'ShinW
2013-03-04 10:09
2013.07.28
Почем нынче и в какие сроки раскрутят сайт? Опыт у кого есть?


15-1362398967
Kerk
2013-03-04 16:09
2013.07.28
Обход графа


15-1360736756
DevilDevil
2013-02-13 10:25
2013.07.28
Ребят, потестите пожалуйста


15-1362413371
Хыхы
2013-03-04 20:09
2013.07.28
Определить окно с которым работает пользователь.


15-1362342603
Юрий
2013-03-04 00:30
2013.07.28
С днем рождения ! 4 марта 2013 понедельник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский