Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2012, 12:55   #1
aha
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 29
По умолчанию Таблица перевода термоэдс в градусы как реализовать ?

таблица предположим такая
1мв 100 градусов
1.1 мв 101
1.2 102 и так далее.
Такое в ассемблере я делал для микроконтроллеров , задавая массив как Data , в дельфи не представляю как .
aha вне форума Ответить с цитированием
Старый 10.02.2012, 13:58   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Если правилььно понял, то 2-х мерный массив из Float подойдет..
Код:
const
  myArray:array[0..100,0..100] of Float=(1.1,101.0,1.2,102.0);
Человек_Борща вне форума Ответить с цитированием
Старый 10.02.2012, 16:00   #3
yurych
Новичок
Джуниор
 
Регистрация: 12.09.2011
Сообщений: 2
По умолчанию ГОСТ Р.8.585

Цитата:
Сообщение от aha Посмотреть сообщение
таблица предположим такая
1мв 100 градусов
1.1 мв 101
1.2 102 и так далее.
Такое в ассемблере я делал для микроконтроллеров , задавая массив как Data , в дельфи не представляю как .
В ГОСТ Р 8.585-2001, который определяет статические характеристики преобразования, есть приложение А, в котором приведены аппроксимирующие полиномы для преобразования значений ТЭДС в градусы. Для каждого типа термопар.
Количество коэффициентов (читай, членов полинома) не более 10.
Вычисление полинома, скорее всего, будет проходить быстрее, чем аппроксимация по таблице и требует введения значительно меньшего количества данных.
На нашем предприятии строится аппроксимационный полином 5...7 степени методом наименьших квадратов по стандартной таблице НСХ.

Последний раз редактировалось yurych; 10.02.2012 в 16:03.
yurych вне форума Ответить с цитированием
Старый 11.02.2012, 13:24   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Человек_Борща Float по дефолту нет ведь, можно по идее взять Single. Массив двумерный написан, а инициализируете, как одномерный. Надо бы так тогда уж:
Код:
const 
  PairsCnt = 5; {это число пар}
  myArray: array[0..PairsCnt - 1, 0..1] of Single =
    ((1.1, 101.0), (1.2, 102.0), (1.3, 103.0), (1.4, 104.0), (1.5, 105.0));
Ну, а вообще , я думаю , если закон полностью соблюдается то можно вычислять так:
Код:
CurPair := // как-то получаем то что в мв
CurValue := 10*(9 + Curpair); // получаем градусы
phomm вне форума Ответить с цитированием
Старый 13.02.2012, 08:11   #5
aha
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 29
По умолчанию

всем спасибо за подсказки , действительно в гостах есть описывающие полиномы , посидел пару часов , ввел их . Действительно быстрее табличного наверное способа .
aha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как оптимизировать код перевода BMP в JPEG artemavd Общие вопросы Delphi 7 12.11.2010 12:18
Как в текстовом файле распознать символ перевода строки? mzelenyy Общие вопросы C/C++ 4 12.06.2010 11:30
с++,градусы и минуты Krezol Помощь студентам 3 17.02.2010 20:28
Градусы Цельсия в градусы Форингейта SgsBot Общие вопросы C/C++ 7 19.11.2008 21:19
как присвоить char'у символ перевода строки? Retiz Помощь студентам 6 06.04.2008 00:05