Evgeni 0 28 февраля, 2021 Опубликовано 28 февраля, 2021 · Жалоба Добрый вечер. Появилась тут такая задачка. Имеется зависимость данных от нагрузки тензодатчика. Шаг по оси х 100 кг и соответствующие ей значение. Необходимо ввести эту таблицу в EXCEL(или может есть еще программы), сделать интерполяцию, и вывести обратно таблицу, но с шагом 1 кг. В общем уменьшить шаг дискретизации. Возможно ли такое сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 28 февраля, 2021 Опубликовано 28 февраля, 2021 · Жалоба возможно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 28 февраля, 2021 Опубликовано 28 февраля, 2021 · Жалоба Если хотите именно интерполяцию, смотрите "Интерполяционный многочлен Лагранжа". Но при большом количестве точек он может дать достаточно "волнистую" кривую. При большом кол-ве точек лучше применять аппроксимацию или вообще кусочно-параболическую интерполяцию (но там будут изломы на стыках). В общем, все зависит от необходимой точности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 1 марта, 2021 Опубликовано 1 марта, 2021 · Жалоба 8 hours ago, Baser said: Если хотите именно интерполяцию, смотрите "Интерполяционный многочлен Лагранжа". Но при большом количестве точек он может дать достаточно "волнистую" кривую. При большом кол-ве точек лучше применять аппроксимацию или вообще кусочно-параболическую интерполяцию (но там будут изломы на стыках). В общем, все зависит от необходимой точности. Все смешалось - интеполяция, аппроксимация. Поскольку функция монотонная, то сначала должна идти аппроксимация подобранной кривой по минимуму квадратичного отклонения. Там и выплывет минимально достижимая ошибка. И только потом делают интерполяцию, а лучше еще и эктраполяцию. В этом деле хорошо помогает кубическая кусочная интерполяция, но точно не многочлен Лагранжа. Идете в Matlab и смотрите там методы PCHIP или Makima Piecewise Cubic Interpolation Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeni 0 4 марта, 2021 Опубликовано 4 марта, 2021 · Жалоба 01.03.2021 в 09:12, AlexandrY сказал: Идете в Matlab и смотрите там методы PCHIP или Makima Piecewise Cubic Interpolation Спасибо. А в маткаде есть такие функции не в курсе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 4 марта, 2021 Опубликовано 4 марта, 2021 · Жалоба 1 hour ago, Evgeni said: Спасибо. А в маткаде есть такие функции не в курсе? тензодатчик штука относительно линейная, и простого полинома не сильно большой степени прям на весь диапазон скорее всего будет достаточно, а это даже excel делать умеет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeni 0 5 марта, 2021 Опубликовано 5 марта, 2021 · Жалоба 04.03.2021 в 11:29, _pv сказал: тензодатчик штука относительно линейная, и простого полинома не сильно большой степени прям на весь диапазон скорее всего будет достаточно, а это даже excel делать умеет. О. Спасибо. А на счёт excell можно подробнее если не сложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 5 марта, 2021 Опубликовано 5 марта, 2021 · Жалоба А вы так и не ответили по поводу необходимой точности. Да и задача выглядит несколько странной. Вам действительно нужно получить таблицу с шагом 1 кг или все же нужно формулу для вычислений в любой точке? А на счёт excel наберите "excel аппроксимация" и польется вода. Excel прямо из таблицы построит графики и выдаст формулу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeni 0 5 марта, 2021 Опубликовано 5 марта, 2021 · Жалоба 2 минуты назад, Baser сказал: А вы так и не ответили по поводу необходимой точности. Да и задача выглядит несколько странной. Вам действительно нужно получить таблицу с шагом 1 кг или все же нужно формулу для вычислений в любой точке Есть зависимость в виде таблицы с шагом 100. А нужно получить с шагом 1 Формула даёт гладкую функцию, что для мк тяжеловато И.е нужно вернуть таблицу с меньшим шагом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 5 марта, 2021 Опубликовано 5 марта, 2021 · Жалоба 7 минут назад, Evgeni сказал: Есть зависимость в виде таблицы с шагом 100. А нужно получить с шагом 1 Ну так и какая нужна точность? Варианты для excel с грубого к более точным: 1. Может быть вам простой линейной интерполяции между вашими точками будет достаточно. 2. Строите график и аппроксимирующую формулу и оцениваете точность в точках таблицы. Если норм., строите по формуле таблицу с любым шагом. 3. Строите кусочно-полиномиальную интерполяцию по кускам из трех соседних точек таблицы. Выбираете подходящие по точности формулы и строите таблицу с любым шагом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 5 марта, 2021 Опубликовано 5 марта, 2021 · Жалоба 1 час назад, Evgeni сказал: Есть зависимость в виде таблицы с шагом 100. А нужно получить с шагом 1 Советую подобрать наиболее подходящий метод интерполяции для вашей последовательности значений; с помощью выбранного метода интерполяции получить массив точек с нужным шагом; сохранить его в виде таблицы в программе МК; в run-time использовать данные из этой таблицы с линейной интерполяцией между значениями таблицы. Впрочем - если памяти программ не жалко, то можно сохранить большую таблицу с шагом между значениями таким же как входные (преобразуемые) значения (без линейной интерполяции между). Можно в Матлабе например прикинуть разные методы интерполяции, посмотреть графики и выбрать метод, дающий наиболее близкую кривую. Здесь например описаны несколько методов со сравнением: https://habr.com/ru/post/130873/ Я у себя в проекте например использую сплайн Акимы - он даёт наилучшее приближение для моих данных (интерполяция характеристик термодатчиков). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeni 0 5 марта, 2021 Опубликовано 5 марта, 2021 · Жалоба 2 часа назад, Baser сказал: Выбираете подходящие по точности формулы и строите таблицу с любым шагом. А где и что нажимать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 6 марта, 2021 Опубликовано 6 марта, 2021 · Жалоба https://www.google.com/search?q=excel+fit https://mycurvefit.com/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 6 марта, 2021 Опубликовано 6 марта, 2021 · Жалоба 12 часов назад, Evgeni сказал: А где и что нажимать? Нажимайте кнопки в гугле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 6 марта, 2021 Опубликовано 6 марта, 2021 · Жалоба 15 часов назад, Evgeni сказал: А где и что нажимать? В excel-е, кнопки. Но для этого его открыть надо, набить таблицу и построить график. А там и кнопки увидите Но в общем, у вас вся постановка задачи перевернута с ног на голову. Поэтому вы и нужную точность не знаете. Методологически делают так: 1. Снимают с реального датчика таблицу с как можно большим значением точек. Для вас желательно через 1 кг. Ну, по меньшей мере несколько точек между вашими 100 кг. И желательно для нескольких разных датчиков. 2. По этим данным строят эталонную формулу датчика. Проверяют, есть ли гуляние формулы от датчика к датчику, какой разброс. 3. Теперь можно выбрать кол-во точек для калибровки датчика. Вполне возможно, что хватит всего двух точек в начале и конце шкалы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться