Страница 395 из 411 ПерваяПервая ... 295345385393394395396397405 ... ПоследняяПоследняя
Показано с 3,941 по 3,950 из 4101

Тема: разные вопросы новичка

  1. #3941
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,566

    По умолчанию

    Цитата Сообщение от Netadmin Посмотреть сообщение
    В общем проверил. работает ровно до 60 см. дальше пошли расхождения с тарировочной таблицей в большую сторону до 500литров ! или я что то не учел
    Так, правильно, формулу получили только до уровня 60 см.
    Пробовал я всю таблицу загнать в эксель - точность получается до 2%, но больше литра. Поэтому, как, вариант, разбивать таблицу на части (например 35-60, 60-85, 85-104, 104-123 и 123-140) и для каждой части высчитывать свою формулу

  2. #3942
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    11,979

    По умолчанию

    https://owen.ru/forum/showthread.php...l=1#post451065 ну или чуть ниже, где в массив данные записать, не помогает ?

  3. #3943

    По умолчанию

    Цитата Сообщение от Netadmin Посмотреть сообщение
    В общем проверил. работает ровно до 60 см. дальше пошли расхождения с тарировочной таблицей в большую сторону до 500литров ! или я что то не учел
    Да ладно, загнал всю таблицу в массив через одну, вместо 108 точек получилось 54 переменных в массиве, считает правильно по таблице.1 Таблица.jpg с точностью 0.1%
    Так как в таблице 35 см это 0, то вычел эти 35 см, только для проверки соответствия таблице. В реале вычитание можно убрать.
    Таблица выложена только до 141 см, дальше массив можно продолжить. Достаточно 2-6 точек.
    Вложения Вложения
    Последний раз редактировалось kondor3000; 17.11.2024 в 12:43.

  4. #3944

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Что самое интересное - ни на каком. Просто копирую из OL
    Спасибо.
    Слышал, что Visual Studio тоже обладает подобным свойством.
    Возможно, у меня операционка старая или что-то в реестре начудил за много лет.

  5. #3945

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Спасибо.
    Слышал, что Visual Studio тоже обладает подобным свойством.
    Возможно, у меня операционка старая или что-то в реестре начудил за много лет.
    У меня раньше из codesys 3.5 в ворд нормально с расцветкой копировалось, а потом перестало. Так и не понял как вернуть это...

  6. #3946

    По умолчанию

    Цитата Сообщение от Netadmin Посмотреть сообщение
    В общем проверил. работает ровно до 60 см. дальше пошли расхождения с тарировочной таблицей в большую сторону до 500литров ! или я что то не учел
    Netadmin,
    меня интересовала принципиальная возможность решения. Сил хватило на копирование с фотографии таблицы 25 пар значений (дальше "рука бойца набирать устала").

    Но все данные, методики, примеры кода я привёл, чтобы Вы дальше смогли по аналогии продолжить.

    Для завершения работы я бы попробовал сначала получить график табличной зависимости в Exel (или Calc из LibOo) - просто посмотреть плавность.

    Далее, попробовал при помощи МНК получить полином для всего диапазона из 100 пар чисел, проверил его в Exel. Если результаты не устроили бы - разделил бы таблицу на несколько участков и при помощи МНК для каждого нашёл бы полином.
    Т.к. МНК это не интерполяция, а аппроксимация, то на стыках диапазонов потребовалось бы проверить непрерывность.

    Ещё можно попробовать увеличить полином до третьей степени, т.к. объём конуса зависит от куба высоты (уровня). На диапазоне 35-60 это не проявлялось заметно, но до 140 может оказаться существенным.

    Есть ещё такая штука, как интерполяция кубическими сплайнами - как раз получается серия кусочных функций (полиномов) с гладкими "стыками". Можете попробовать. Сколько помню, формулы были несложные, только у меня от ВУЗовских лабораторок исходники не сохранились. Но интернет всё порешает.

    Вы уж простите старика, мне лень в выходной день несколько часов сидеть и подгонять результаты экспериментов по разделению диапазонов, по проверке повышения степени полинома.

    Собственно, больше нечего добавить - алгоритмическое решение есть, остаётся только вычислить коэффициенты для формул. Что будет не получаться - спрашивайте.

    Хотя kondor3000 уже предложил решение при помощи кусочно-линейной интерполяции.
    https://owen.ru/forum/showthread.php...l=1#post451105
    Раз оно работает - применяйте.

  7. #3947
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    11,979

    По умолчанию

    У меня по сути это наверное то же, что и предлагает kondor3000 при помощи кусочно-линейной интерполяции
    На примере датчика топлива в баке генератора с неправильной формой. з.ы. это скрипт C#
    Код:
    public double Benzscale (double inp)
    {
    double res = 0;
    if (inp > 0 & inp < 773) res = Scaler (inp, 53, 773, 0, 5);
    else if (inp > 773 & inp < 1468) res = Scaler (inp, 774, 1467, 5, 10);
    else if (inp > 1467 & inp < 2061) res = Scaler (inp, 1468, 2060, 10, 15);
    else if (inp > 2060 & inp < 2452) res = Scaler (inp, 2061, 2451, 15, 20);
    else if (inp > 2451 & inp < 2870) res = Scaler (inp, 2452, 2869, 20, 25);
    else if (inp > 2869 & inp < 3278) res = Scaler (inp, 2870, 3277, 25, 30);
    else if (inp > 3277 & inp < 3700) res = Scaler (inp, 3278, 3699, 30, 35);
    else if (inp > 3699 & inp < 4096) res = Scaler (inp, 3700, 4095, 35, 36);
    return res;
    }
    числа в else if это показания датчика при тарировке, числа в формуле scaler вторые это литраж. Scaler - это наверное то же самое, что и LINEAR в срипте на ST от petera и kondor3000.
    Собственно все проще. Чем меньше диаметр конуса, тем меньше объем нужен для тарировки, так как при таком методе погрешность не накапливается, а сидит внутри каждого диапазона.
    По мере увеличения диаметра конуса, можно увеличивать объем тарировочный, чтобы погрешность не выходила за какой-то диапазон.
    Последний раз редактировалось melky; 18.11.2024 в 08:54.

  8. #3948

    По умолчанию

    Набрал все пары от 35 до 140
    Покажу все пары, вдруг кто-то захочет повторить вычисления:

    Код:
    35	0,152
    36	0,160
    37	0,168
    38	0,176
    39	0,184
    40	0,193
    41	0,202
    42	0,211
    43	0,221
    44	0,231
    45	0,241
    46	0,251
    47	0,262
    48	0,273
    49	0,284
    50	0,296
    51	0,307
    52	0,320
    53	0,332
    54	0,345
    55	0,358
    56	0,372
    57	0,385
    58	0,400
    59	0,414
    60	0,429
    61	0,444
    62	0,460
    63	0,476
    64	0,492
    65	0,508
    66	0,525
    67	0,543
    68	0,561
    69	0,579
    70	0,597
    71	0,616
    72	0,635
    73	0,655
    74	0,675
    75	0,696
    76	0,717
    77	0,738
    78	0,760
    79	0,782
    80	0,804
    81	0,827
    82	0,851
    83	0,875
    84	0,899
    85	0,924
    86	0,949
    87	0,975
    88	1,001
    89	1,027
    90	1,054
    91	1,082
    92	1,110
    93	1,138
    94	1,167
    95	1,197
    96	1,227
    97	1,257
    98	1,288
    99	1,319
    100	1,351
    101	1,384
    102	1,417
    103	1,450
    104	1,484
    105	1,519
    106	1,554
    107	1,589
    108	1,625
    109	1,662
    110	1,699
    111	1,737
    112	1,775
    113	1,814
    114	1,854
    115	1,894
    116	1,934
    117	1,975
    118	2,017
    119	2,059
    120	2,102
    121	2,146
    122	2,190
    123	2,235
    124	2,280
    125	2,326
    126	2,372
    127	2,419
    128	2,467
    129	2,516
    130	2,565
    131	2,614
    132	2,664
    133	2,715
    134	2,767
    135	2,819
    136	2,872
    137	2,925
    138	2,980
    139	3,034
    140	3,090


    пропустил через МНК и получил полином третьей степени. Он очень точно вычисляет на всём указанном диапазоне.
    Не знаю, почему так ошибся - вывел зависимость объёма пропорциональную кубу уровня, но решил, что квадратичная зависимость идеально подойдёт.
    Сейчас увеличил степень и всё сошлось.
    Код:
    Функция y(x) имет вид
       y(x)=a[3]*x^3+a[2]*x^2+a[1]*x^1+a[0] ,
       где
            a[3]= 6,7480106322967544E-007
            a[2]= 5,2652074851971609E-005
            a[1]= 1,4053194590600596E-003
            a[0]= 9,4316767126307200E-003
    Но, к слову, если бы "материально не заинтересованный, но просто помогающий другу" Netadmin сразу привёл таблицу в редактируемом виде, то время потраченное на её набор, я потратил бы на обработку.

    Думаю, что с разделением диапазона уровня для вычисления объёма конусной и цилиндрической частей бункера сложностей не будет.
    Чтобы избежать переполнения разрядной сетки и ускорить сами вычисления, полином лучше вычислять по схеме Горнера, тут сложностей тоже быть не должно.

    Будут вопросы - задавайте.

    Во вложении программа с новым полиномом и инструменты расчёта и проверки - программа на Pascal, таблица для Calc (аналог Exel).
    Вложения Вложения
    Последний раз редактировалось FPavel; 18.11.2024 в 12:16.

  9. #3949

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    к словам интерполяция и аппроксимация добавлю такое слово как регрессия и мой вариант по табличным данным

    Я то карты раскрыл - полином получен (методом наименьших квадратов (МНК). Там всё просто и в ВУЗах и в колледжах на чисметах преподают. Вот и у меня с ВУЗа осталась собственная реализация по методичке к лабораторке.

    А как Вы получили формулы?

    Мне кажется, что регрессионный анализ - это "надстройка" над МНК - при помощи пересчёта входных данных меняют формулу зависимости с полинома на другую произвольную, потом используют МНК, пересчитывают полиноминальные коэффициенты в коэффициенты из новой формулы. Часто, регрессия ограничена прямой линией - полиномом первой степени - для удобства пересчёта коэффициентов.
    Последний раз редактировалось FPavel; 18.11.2024 в 12:21.

  10. #3950

    По умолчанию

    Это в SciLab?

Страница 395 из 411 ПерваяПервая ... 295345385393394395396397405 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 24.05.2024, 13:53
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •