Как аппроксимировать график в origin
Перейти к содержимому

Как аппроксимировать график в origin

  • автор:

Научный форум dxdy

У меня есть набор экспериментальных точек, и известен общий вид функции описывающий точки. Как в ориджине сделать аппроксимацию такой функцией?

Re: Как аппроксимировать в ориджине?
23.06.2009, 21:07

В Origin`e можно подобрать функцию, аппроксимирующую Ваши экспериментальные точки, как полином. Программа даст общий вид полинома и сосчитает коэффициенты при его степенях: Analisys -> Fit omit polinom

Страница 1 из 1 [ Сообщений: 2 ]
Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей

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

Обработка результатов измерений в программном пакете origin

2. Обработать результаты измерения, представленные в виде входного массива данных.

3. Построить графики зависимостей и определить дополнительные параметры.

ВАЖНО: Перед началом работы сформируйте файл отчета. Для этого запустите на Рабочем столе пиктограмму файла «Отчет» и заполните предлагаемую форму. Затем сохраните ее, нажав клавишу . Дождитесь момента закрытия формы.

2. Введение в пакет origin

Originпредставляет собой мощное программное средство научной и технической графики, совместимое с программными продуктамиMicrosoft, в частности, сWordиExcel. Это позволяет использовать его как для создания качественных иллюстраций книг, статей, отчетов, инструкций, так и для обработки массивов данных.

В следующем далее тексте приводится вид окон Origin Pro версии 8.0, соответствующий средеWindows.

Запуск Origin и завершение сеанса работы

Запуск Origin осуществляется двойным щелчком мыши на ярлыке (пиктограмме)Origin 8. После загрузки появляется окно, приведенное на рис.1. На рисунке видно несколько областей. Область меню, область быстрого запуска команд вверху, внизу и слева, рабочая область в центре, слева — область содержания проекта, которая называетсяProject Explorer(менеджер проекта). С его помощью можно реорганизовать содержимое текущего проекта.

Завершение сеанса работы с Originможно осуществить одним из следующих способов:

  • последовательным выбором команд: File,Exitв верхнем меню;
  • закрытием окна Originсоответствующей кнопкой.

Рис. 1. ОкноOriginпосле загрузки Ввод табличных данных в ручном режиме В основном окне Originпосле загрузки имеется отдельное окно данных со стандартным именемBook1 (Книга 1). Оно содержит рабочую таблицу или рабочий лист (Worksheet) со столбцамиA(X)иB(Y), гдеX,Yуказывают тип колонки. Кроме этого, рабочий лист содержит три строки пояснений. В клетки таблицы рабочего листа можно вносить данные в ручном режиме. Нужная клетка выбирается курсором мыши или клавишами со стрелками. Число строк таблицы первоначально составляет 32, но автоматически увеличивается при вводе данных.ВАЖНО:Книга может содержать несколько рабочих листов. Число столбцов можно добавлять командами меню: Column,AddNewColumns. Удалить лишний столбец можно командами меню:Edit,Delete, предварительно выделив столбец щелчком мыши на его заголовке. Редактирование числа столбцов возможно с помощью меню мыши, появляющееся по правой кнопке (рис.2). Рисунок 2а содержит меню для работы с рабочим листом (необходимо указатель мыши навести на чистое место рабочего листа). Рисунок 2б содержит меню для работы с выделенной колонкой (необходимо навести указатель на колонку для ее выделения). Ввод табличных данных из файла Originпозволяет считывать и обрабатывать данные, предварительно записанные в кодахASCIIв файл данных. Файл должен иметь расширитель *.dat, *.txtили *.csv. а) б) Рис. 2. ОкноOriginс меню работы с рабочим листом Для считывания данных следует последовательно выполнить команды меню: File,Import,SingleASCII. После этого откроется стандартное окноWindowsдля поиска и открытия файлов. Движение по каталогам и открытие файла производится как обычно. Перед открытием файла появляется окно импорта данных, где указываются свойства импорта. После открытия файла числовые данные оказываются в таблице. Они могут подвергаться изменению и редактированию. Также можно воспользоваться кнопкой меню для быстрого запуска команды:. Построение двумерных графиков Для построения функциональных зависимостей в системе двух координат следует в таблице данных щелчком мыши на заголовке выделить столбец, содержащий значения функции. Далее следует выполнить команды меню: Plot,Line,Line(Нарисовать, Линия, Простая линия). После этого появляется окно со стандартным именемGraph1, в котором построен график зависимости. Кроме построения сплошных линий, в пакете предусмотрены еще два вида графиков:Scatter(Отдельные точки),Line+Symbol(Точки, соединенные линиями). Рассмотрим пример построения графика зависимости y=x2 . Для этого зададим область измененияX: 1≤X≤ 10 следующим образом: навести мышь на колонкуA(X) (эта колонка естьX- координата), выделить ее, нажать правую кнопку, выбрать командуSetColumnValues. Появится окно задания величины для выбранной колонки. В рабочей области, обозначеннойCol(A)=набрать параметр строкиi, а вверху задать количество элементов от 1 до 10 (ПолеRow(i) (Строка (i))). Нажмите кнопкуApply(Применить). Тогда колонкеAприсвоятся значения элементовi от 1 до 10 (рис. 3а). В окне задания значений колонке дополнительно имеется набор арифметических функций и список колонок рабочего листа. Таким образом, можно осуществлять математическую обработку данных в колонке или формировать данные, задавая соотношения между соседними колонками, если они находятся в функциональной связи. Теперь зададим значения функции (колонка B(Y)). Для этого необходимо либо повторить предыдущие операции с новым выделением следующей колонки, либо использовать уже открытое окно задания значений, но переключив кнопкой>>активный столбец сАнаВ. Далее в рабочей области задания значений вместо параметраiнеобходимо установитьcol(A)*col(A). Для этого открыть в верхнем меню окна список всех колонок рабочего листа и выбрать колонкуAиз списка. Выбранная колонка появится в области задания значений. Символ умножения набирается на клавиатуре. Количество элементов в этом случае можно оставить . В итоге получаем заполненную рабочую таблицу (рис.3б) Построим три вида графиков данной функции. Выделим функцию колонка В. В меню выбрать командыPlot,Line;Lineпотом, перейдя снова к а) б) Рис. 3. Задание значений элементам рабочей таблицы таблице, Plot, Symbol, Scatter; после этого, перейдя опять к таблице Plot, Line+Symbol, Line+Symbol. В итоге получим три окна с разными видами графиков (рис. 4). На рисунке показаны основные области окна графики. Для перехода в меню этих областей необходимо дважды щелкнуть левой кнопкой мыши на соответствующих областях. Рис. 4. Три вида графиков функции Оформим наши графики. Сделаем подписи осей. Для этого выделите область подписи оси YокнаGraf3. Щелкните правой кнопкой мыши, в появившемся меню запустите командуProperties(Свойства) (рис. 5а). Появится окно редактирования подписей (рис. 5б). Введите новый текст в окне ввода:ФункцияΩ, мкВ. Для введения русского текста необходимо в списке шрифтов установитьArialCYR. Для введения греческих букв необходимо нажать кнопкуи в скобках ввести латинский эквивалент. Справа от окна выбора шрифтов стоят традиционные команды редактирования текста. Аналогично подпишите ось X, введя текст:РасстояниеR, м. Для перехода от русского шрифта к латинскому используйте комбинацию клавиш переключения клавиатуры. а) б) Рис. 5. Окно редактирования подписей Замечание: Редактирование подписей в окне графика можно провести с помощью кнопок запуска команд верхнего меню. Сделаем это на примере редактирования области поясняющей подписи. Для редактирования выделите эту область и дважды щелкните левой кнопкой мыши на букве. Строка перейдет в режим редактирования и будет состоять из двух частей: (символ рисования) %(1) (символ подписи). Далее введите на место символов подписи введите y=x2 . Заметим, что в режиме редактирования подписей в верхнем меню команд становится доступной набор кнопок редактирования, включающий выбор шрифта и его размера, тип шрифта, подстрочные и надстрочные символы, греческие буквы. Поэтому, для ввода верхнего индекса необходимо нажать кнопку этого меню команд и набрать 2. Рассмотрим окно редактирования графика. Для редактирования графика, т.е. изменения его стиля, цвета, символов, необходимо дважды щелкнуть левой кнопкой на элементе графика (символе или линии). Появится окно редактирования графика (рис. 6). В нем три вкладки для редактирования символа, линии и спадающих линий в трехмерных графиках. Слева область содержания окна графика, где отражены все зависимости. Так как у нас только одна зависимость, то мы имеем таблицу Data1и столбцыA(X),B(Y). Заменим символ на «О». Выберите из меню символов символ «пустой круг». Он отразится в окне. Далее, изменим тип линии. Перейдите на вкладкуLine. Выберите в менюStyleстильDash, а толщину линии замените с 0.5 на 1.5 в окнеWidth. Для введения изменений нажмите кнопкуApplyи выхода из режима редактированияOk. В итоге получим график, изображенный на рис. 7. Рис. 6. Окно редактирования графика Рис. 7. ОкноGraph3 после редактирования Анализ данных В этом пункте рассмотрим кратко способы анализа данных, которые будут использоваться в лабораторных работах. Во-первых, для нашей функции построим набор линейных аппроксимаций точек. Для этого, необходимо все данные разбить на интервалы, которые мы будем аппроксимировать. Пусть первый интервал по Х это первые две точки – 1-2, второй интервал 2-4, а последний интервал с 4-10 мы аппроксимируем с помощью нелинейной функции Гаусса. Выделим столбец B(Y)таблицы и построим графикScatter(для его построения достаточно нажать кнопку запуска команд нижнего меню). После появления графика в строке главного меню необходимо выбрать команду Analysis/Fitting(рис. 8а). Для выбора линейной аппроксимации, выберете командуFitLinear/OpenDialog. Откроется окно задания данных на аппроксимацию. В нем необходимо задать входные параметрыInputData. Можно видеть, что в данный момент у нас имеется только один диапазон значенийRange1, который занимает весь диапазон изменения аргумента, т.е. 1≤X ≥10. Для установления разных интервалов, необходимо нажать кнопку, расположенной на строке параметраInputData, появится меню выбора команд, в котором выбирается командаAddPlot(1)*:B(Добавить интервал). Раскроется подменю первого диапазонаRange1и добавится второй диапазонRange2. Для задания наших интервалов аппроксимаций необходимо в раскрывшемся подменю первого диапазонаRange1 выбрать строкуRows, поставив галочку в окне выбора. Появятся строки задания диапазона по Х. В строкеFrom(От)укажем 1 (от первой строки), в строкеTo(До)укажем 2. Аналогично раскройте подменю второго диапазонаRange2, выделитеRows задайте изменение от 2 до 4. В итоге окно задания значений линейных аппроксимаций будет выглядеть, как на рис. 8(в). Нажав кнопкуOk, получим на графике две аппроксимации (рис. 9):Y1=A1+B1*X1;Y2=A2+B2*X2.Замечание: при появлении окна сообщений Doyouwanttoswitchtothereportsheet? выберите ответ No. а) б) в) Рис. 8. ОкноOriginдля задания линейной аппроксимации Рис. 9. ОкноOriginс линейными аппроксимациями При выполнении аппроксимаций создаются два рабочих листа, содержащих информацию о параметрах функций (FitLinear1)и таблицу данных(FitLinearCurve1). Кроме этого, на графике также появляется окно данных аппроксимации. Его можно удалить, т.к. вся информация содержится вBook1. Открыв рабочий листFitLinear1можно видеть, чтоIntercept(Точка пересечения функции с осьюY) = -2; -8.33333,Slope(Наклон) = 3; 6 и, соответственно,Y1 = -2+3*X1,Y2 = -8.33333+6*X2. Последний интервал аппроксимируем с помощью нелинейной функции Гаусса. Для этого, выделив окно графика, выберите команду меню Analysis/Fitting/NonlinearCurveFit/OpenDialog. Появится окно задания нелинейной аппроксимации. В данном окне необходимо выбрать функциюGaussAmp(см. рис. 10а). После этого, указать область изменения параметраX, перейдя для этого на вкладкуDataSelection(Выбор данных)и указав в первом диапазонеRange1строкиRowsот 4 до 10 (рис. 10б).Замечание: используйте прокрутку для отображения строки Rows.После командыFit(Аппроксимировать), получим следующий вид графика (рис. 11). Далее на графике удалим таблицу данных функции Гаусса и оформим график. Сначала измените тип линий функций аппроксимаций. Для этого необходимо вызвать окно редактирования, щелкнув дважды каждую их кривых. Линию первого интервала установите на тип Dot, толщину линииWidth1.5 и цветBlack(Черный), второй интервал на типDash, толщину линииWidth1.5 и цветBlack(Черный) и последний интервал типSolid, толщину линииWidth1.5 и цветBlack(Черный). Цвет остается одинаковым для того, чтобы при печати все линии оказались одной яркости. И, наконец, внесем подписи к графикам в окно подписей. Откройте его, выделив курсором, и дважды нажав левую кнопку. В области ввода (см. рис. 5) в первой строке введем основную функциюy=x2 , далее для первой аппроксимации функциюy= -2+3*x, для второй аппроксимацииy= -8.33+6*x(для просмотра параметров функций посмотрите рабочий листFitLinear1). И для последней аппроксимации наберите текст:функция Гаусса (измените шрифт наArialCYRв окне редактирования типа шрифта). В заключение, вычислим коэффициент, определяющий наклон на первом интервале, где функция близка к линейной. Но возьмем этот коэффициент в размерности мкВ/мм. Для этого, выбираем коэффициентB(Slope)первой аппроксимированной функции. Он равен +3. Таким образом наклон Е = 3 мкВ/м в координатах нашего графика. Преобразование его в мкВ/мм заключается в умножении его на 10 -3 . Итого Е = 3*10 -3 мкВ/мм. Внесем эту величину в область графика. Для этого создадим еще одну область подписей с помощью кнопки левого меню. В новом окне введите Е = 0.003 мкВ/мм. Итоговое окно должно выглядеть как на рис. 12. а) б) Рис. 10. ОкноOriginдля задания условий нелинейной аппроксимации Рис. 11. ОкноOriginпосле аппроксимаций Рис. 12. Итоговое окноGraph4после обработки функцииy=x 2 Теперь осталось скопировать его в буфер обмена и вставить в отчет. Для этого откройте файл отчета _0.doc. Файл находится в папкеМиЭЭТ/ . Найдите место для вставки рис.1. Перейдите в окноOrigin, поставьте курсор на свободное место поля графика окнаGraph4(слева от вертикальной оси) и по правой кнопке мыши запустите командуCopyPage. График скопируется в буфер обмена. Перейдите в окноMSWord, поставьте курсор в местоположение графика и по правой кнопке мыши запустите командуPaste. График должен появиться на странице. Скопируйте также соответствующие значения в таблицу 1. Копирование осуществляйте по столбцам. Замечание: для построения графика нелинейной функции вместо аппроксимации удобно использовать специальную команду Spline (Сплайн) для сглаживания линий, соединяющих соседние точки. Эта команда находится в пункте меню Plot,Line/Spline (рис. 13). По умолчанию команда оставляет разрыв линии графика в местах точек, который можно убрать в окне редактирования линии графика на вкладке Line (рис. 6, 14), сбросив команду GaptoSymbol в меню параметра Line/SymbolInterface. По умолчанию параметр Line/SymbolInterface будет иметь значение DrawLineBehind. Рис. 13. Список команд менюPlot,LineРис. 14. Окно редактирования графика. ВкладкаLine

Мультифункциональный фиттинг экспериментальных данных

Очень часто, как и в точных науках (физика, химия), так и в прочих областях (экономика, социология, маркетинг и пр.) при работе с разного рода экспериментально полученными зависимостями одной величины (Y) от другой (X) возникает потребность описать полученные данные какой-нибудь математической функцией. Этот процесс часто называют экспрессией, аппроксимацией, приближением или фиттингом.

Наиболее часто для фиттинга данных используется линейная функция:

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

Лирическое отступление

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

image alt

Рис. 1. Попытка описания одного и того же набора экспериментальных данных квадратичной, степенной и линейной функциями.

Однозначного отчета, а что лучше — не существует. Все определяется теми задачами (получить площадь под кривой, узнать значение производной, узнать новое значения Y для иного X и т.д.), для решения которых предлагается использовать то или иное математическое приближение. Конечно, больше всего полезной информации можно получить из того математического приближения, которое не просто прекрасно описывает экспериментальные данные, а за которым стоит физическая/химическая/экономическая и пр. модель наблюдаемой в эксперименте зависимости. Тогда, из полученных оптимизированных параметров извлекается полезная информация.

Бывают ситуации, когда экспериментально полученная зависимость имеет более сложный характер, и использование линейной аппроксимации становиться бессмысленным и необходимо привлекать другие математические функции, Рис. 2-А.

image

Рис. 2-А. Абстрактный пример нелинейной экспериментальной зависимости Y от X (красные точки) и ее теоретической аппроксимации (синяя кривая) функцией Гаусса.

Для проведения фиттинга нелинейных экспериментальных зависимостей существует ряд программных решений (Matlab, Origin, Datafit и пр.). Не вызывает больших сложностей осуществить подобный фиттинг в MS Excel (помним про solver).

Однако, бывают ситуации, когда экспериментальная кривая состоит из нескольких полностью или частично накладывающихся друг на друга индивидуальных, независимых в силу своей природы, кривых. Особенно часто это проявляется при физических и химических измерениях: инфракрасная спектроскопия (Рис. 2-Б), ядерный магнитный резонанс (Рис. 2-В), рентгеновская фотоэлектронная спектроскопия (Рис. 2-Г), хроматографии (Рис. 2-Д) и пр. В некоторых случаях маленький, но очень гордый важный пик бывает полностью или почти полностью скрыт большим пиком, так что его почти не видно невооруженным взглядом. А о его существовании приходиться догадываться по косвенным соображениям.

Примеры
image
Рис. 2-Б. Пример перекрытие пиков в FTIR спектре. По оси Y (не показана) -безразмерная величина, характеризующая поглощение ИК излучения веществом, по оси X — волновое число в см -1 . Источник: Canadian Journal of Microbiology 63(12), October 2017.
image
Рис. 2-В. Пример перекрытия H1-NMR пиков. Источник.
image
Рис. 2-Г. Перекрытие пиков в As3d -XPS спектре образца арсенида галлия (GaAs). Четко видны различные электронные состояния As в образце. Количественный анализ, выполняемый при помощи фиттинга, позволяет исследователям проанализировать структуру образца. Источник.
image
Рис. 2-Д. Примеры перекрытия хроматографических пиков. Концентрация анализируемого вещества прямо пропорциональна площади под кривой пика, по этому необходимо уметь эту площадь точно определять. Источник.

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

В инфракрасной спектроскопии особо ничего не делают с плохо разделенными пиками, аппаратно разделить их не получается, а исторически все привыкли, что тот или иной пик представлен на спектре, к примеру, как плечо на фоне другого пика и довольно редко, кто-то пытается извлечь более полную информацию из такого спектра, осуществляя его фиттинг (J. Braz. Chem. Soc., Vol. 19, No. 8, 1582-1594, 2008).

В тоже время в рентгеновской фотоэлектронной спектроскопии практически всегда приходиться проводить фиттинг экспериментальных данных как суперпозицию нескольких индивидуальных пиков (имеющих форму кривой Гаусса), что реализуется посредством специального ПО,
поставляемого с прибором.

Для разделения пиков в жидкостной и газовой хроматографии уменьшают концентрации веществ, устанавливают дополнительные разделительные колонки, увеличивают их длину, используют методы химической модификации веществ, изменяют условия проведения хроматографического разделения и пр. Но, как ни странно, несмотря на актуальность проблемы, в этой области не используют математические возможности разделения пиков. Хотя и существуют соответствующие методы и модели, но своего применения в коммерческих хроматографических решениях они пока не нашли…

Несмотря на возникающую необходимость проводить многокомпонентный (мульти функциональный) фиттинг автор этих срок не знаком с ПО, позволяющим использовать для фиттинга одновременно несколько одинаковых или разных математических функций. В замечательной программе OriginPro 8 мультифиттинг ограничен функциями Лоренца и Гаусса, что уже не плохо, но не достаточно. При этом качество фиттинга не всегда удовлетворительное и нет возможности контролировать сам процесс фиттинга. Если не понравились его результаты, то процесс приходиться начинать с самого начала и так много раз.

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

По этому, когда возникла реальная задача описать экспериментальные кривые, из формы которых было видно, что без мультифункционального фиттинга не обойтись, то подходящего инструмента под рукой не оказалось. А еще захотелось наглядности и контролируемости процесса фиттинга и, чтобы экспериментальная и расчетная производные совпадали. Конечно, проблему можно было бы решить в ручную в МS Excel, но данных было много и хотелось попрактиковаться в Питоне, который несколькими месяцами ранее стал изучать, как свой первый язык программирования.

В этом контексте была поставлена следующая цель.

Цель

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

При этом пользователь должен руками задать количество используемых в фиттинге различных математических функций и иметь возможность выбрать ту или иную математическую функцию из списка.

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

Плюс прочие мелочи, такие как сглаживание шумов и удаление «артефактов» из исходных данных, мешающих вычислению производной.

Результаты

С учетом отсутствия опыта в программировании, задача казалась не простой, но очень интересной, решать которую пришлось, разбивая ее на подзадачи:

  • Чтение/запись данных;
  • Конвертация неудобного формата «17.07.2019 14:55:38» значений даты и времени в удобные для работы относительные минуты;
  • Изучение основ Matplotlib для вывода данных в виде графиков и динамического изменения параметров функции посредством встроенного гаджета. Очень помог соответствующий соответствующий сайт;
  • Применение простого (5ти точечного) метода сглаживания и замены встречающихся в массиве данных дублей (по оси Х) соответствующей линейной аппроксимацией;
  • Численное интегрирование и дифференцирование данных;
  • Создание графического интерфеса и изучение для этого основ ООП.

Наверное нет особого смысла описывать детали, вопросы и проблемы, которые возникали по ходу написания программы. Детали доступны самом коде, код доступен тут. Большинство вопросов и проблем оказались стандартными, полное или частичное решение которых находилось на различных сайтах и в книгах, посвященных Питону, а так же на stackoverflow. Решения и примеры тупо копировались разбирались и адаптировались под свои нужды. Ниже кратко описана работа программы, ее возможности и ограничения на данный момент. Программа состоит из трех рабочих файлов и краткой инструкции:

Fitting_tool.py -Интерфейс, проверка корректности ввода параметров, вызов различных функций.
NumPy1.py — Класс методов для чтения, записи, обработки данных и отображения их в графическом виде
ThFunction.py — Класс из нескольких математических функций, их параметров с начальными значениями и границами интервалов изменений этих параметров.
Fitting Tool v.1.0 Help.pdf — Небольшой мануал с картинками, который решил сделать сразу на английском.

При запуске программы предлагается открыть файл со своими данными или воспользоваться уже имеющимися примерами, которые необходимо импортировать.

Затем можно просмотреть оригинальный график и его производную, посчитанную, как есть или после математического сглаживания. При этом заранее непросто сказать, какой метод сглаживания будет лучше работать и имеет смысл попробовать их все или выбрать опцию без сглаживания. В результате появиться стандартное окно с графиком экспериментального сигнала и его производной, Рис. 3-А.

image

Рис. 3-А. Графическое представление оригинального экспериментального сигнала и его производной с использование одного из трех методов математического сглаживания.

image

Задав левую и правую границы рассматриваемого интервала, можно сфокусировать график и последующие расчеты на интересующей области, Рис. 3-Б.

Рис. 3-Б. Задание левой и правой границы интервала наиболее интересной части экспериментальной кривой для дальнейшего фиттинга.

В правой части программы можно задать количество математических функций, используемых для фиттинга и выбрать тип каждой используемой функции. После чего появится возможность задать три значения для каждого параметра выбранной функции. Значения Min, Max соответствуют левой (Min) и правой (Max) границе числового интервала, в котором пользователь будет производить поиск оптимального значения параметра. Величина Def (Min< Def < Max) показывает начальное, оно же текущее значение данного параметра, Рис. 4.

image

Рис. 4. Выбор числа и типа математических функций, которые будут использованы при фиттинге. При необходимости пользователь может изменить значения Min, Max и Def для каждого из параметров каждой функции.

Далее, либо, оставаясь в рамках одной выбранной функции, пользователь может проводить фиттинг (Local fitting) ее параметров, либо через меню Fitting\Global fitting производить оптимизацию параметров глобальной функции, являющейся суперпозицией двух (и более) локальных функций.

image

Для начала, удобно «занулить» амплитуду второй функции и добиться некоторого (не обязательно идеального) совпадения профилей левой (или правой) части экспериментального сигнала и его производной с соответствующей частью первой функции и ее производной, Рис. 5-А.

Рис. 5-А. Фиттинг с одной функцией. Попытка получить наилучшее совпадение для левой части экспериментальной кривой. Амплитуда второй функции специально уменьшена практически до нуля.

После получения удовлетворительного результата, «включаем в игру» вторую функцию (Рис. 5-Б) и находим для нее оптимальные параметры. В процессе ее фиттинга, можно вернуться к параметрам 1 й функции и убедиться, что ошибка находится в глобальном минимуме по всем ее параметрам.

image alt

Рис. 5-Б. Фиттинг с двумя функциями дает более лучшее описание оригинального сигнала и его производной (игнорируя оставшиеся шумы в графике производной).

Кнопка «Close&Export parameters» позволяет закрыть окно с графиком и экспортировать текущие параметры в главное окно программы, где можно задать более удобные значения Min и Max для выбранных параметров и еще раз через Fitting\Global fitting продолжить уменьшать ошибку.

Ошибка — она же метрика качества аппроксимации исходного сигнала и его производной определяется по стандартной формуле:

где SEi и STi экспериментальные и расчетные значения сигнала. N — число точек в массиве, а множитель 1000 выбран для удобства. Аналогичная формула используется для оценки точности фитинга производной сигнала, однако из-за наличия возможных шумов, полностью «занулить» ее не получится, да это и не нужно, т.к. совпадения профилей кривых достаточно.

Если для качественного фиттинга двух функций не хватает, то можно сбросить настройки кнопкой «Reset» и выбрать большее число функций.

На данный момент в программе представлены шесть математических функций:

|Сокращение | Название | Формула и параметры | Пример графика|
|—————|————|—————————-|——————|
| DbSigmoind | Двойная сигмоида |

Параметры: A, Xc, W1, W2 и W3| ![image](https://habrastorage.org/webt/8t/bk/qf/8tbkqfwko9dxi7twikbsnuejxiq.jpeg)|
|Sinus|Синус |

Параметры: A, w и phi|![image](https://habrastorage.org/webt/aw/9q/of/aw9qofy0dqcgmlu7n55l64alin4.jpeg)|
|Gauss|Функция Гаусса|

Параметры: A, b и с|![image](https://habrastorage.org/webt/ll/t8/bd/llt8bditpjizexuqjt7hweefore.jpeg)|
|Exp|Экспоненциальная функция|

Параметры: A и b|![image](https://habrastorage.org/webt/ru/43/yf/ru43yf0ixgrukkb2okfhkghhtfe.jpeg)|
|Lorenz|Функция Лоренца|

Параметры: A, x0|![image](https://habrastorage.org/webt/ko/e8/d-/koe8d-v0nxvng0mc0omyjz2jyco.jpeg)|
|Sigmoid|Сигмоида|

Параметры: A, B и С|![image](https://habrastorage.org/webt/d0/ls/cr/d0lscrate33shcqmb227djxs8au.jpeg)
|

Было решено остановиться на достигнутом и ограничить версию 1.0 этими шестью математическими функциями. Желающие могут легко добавить новую математическую функцию в файл ThFunction.py и добавить условие определения ее параметров в функцию «F_Option» файла Fitting_tool.py по готовым шаблонам из комментариев в файлах.

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

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

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

Хочется надеяться, что созданный инструмент — Fitting tool будет реально еще кому-нибудь полезен.

Origin manual

Download Free PDF View PDF

Download Free PDF View PDF

Download Free PDF View PDF

Раскрывающиеся пневматические и механические каркасы солнечного отражателя для наноспутника «Маяк» класса Сubesat А.Ю. Шаенко, М.С. Белокосков, М.П. Лавров, Д.И. Ефремов, А.М. Александров Аннотация. В работе приводятся результаты изготовления и испытаний двух вариантов исполнения каркаса солнечного отражателя кубсата «Маяк» на основе пневматической конструкции и на основе упругих деформируемых металлических профилей. В ходе сравнительных испытаний двух представленных вариантов к реализации на космическом аппарате «Маяк» рекомендован вариант на основе упругих деформируемых металлических профилей. Ключевые слова: крупногабаритная раскрывающаяся космическая конструкция, солнечный отражатель, проект «Маяк», Cubesat, кубсат. Deployable pneumatic and mechanical frames of solar reflector for nano-satellite Mayak cubesat Abstract. This paper presents results of ground tests Mayak cubesat solar reflector design — with pneumatic and thin-walled furlable support structures. Only furlable support structure had successfully passed through comparison tests and has been recommended for practical realization. Key words: deployable space structures, solar reflector, Mayak project, Cubesat. Applicability of methods and technologies of drip irrigation in Azerbaijan d-r., prof. Z.H.Aliev Abstract: With the proper conduct of the process low-intensity irrigation can not only dramatically reduce the consumption of water for irrigation agricultural crops, but also to provide the necessary climate for the plants and the supply of water and fertilizer in the required amount directly into root habitation zone, which contributes to an earlier entry of plants in fruiting and increase productivity while reducing water per unit of yield and reduce production costs. Key words: low-intensity, automation, irrigation technology, regulatory, background, bank data, the controller, connection, object, sensors. Современное оснащение кабинета физики. Использование датчика света цифровой лаборатории на уроках физики. Дифракция света. Дифракционная решетка. Винницкая С.А. Аннотация. В статье учитель рассказывает об опыте использования датчика света цифровой лаборатории SenseDisc на уроках физики при изучении темы “Дифракция света. Дифракционная решетка” с точки зрения внедрения деятельностного подхода к обучению в соответствии с ФГОС среднего образования. Ключевые слова: образование, школа, методика преподавания физики, цифровая лаборатория, эксперимент, дифракция света. Modern equipment of physics classroom. Using a light sensor digital lab at physics lessons. Diffraction of light. Diffraction grating. Abstract. In article the teacher tells about experience of use of the sensor of light of digital laboratory SenseDisc at physics lessons when studying a subject «A diffraction of light. The diffraction grating» from the point of view of introduction of activity approach to tutoring according to FGOS of secondary education. Key words: education, school, technique of teaching physics, digital laboratory, experiment, diffraction of light. Видеоанализ как инструмент учителя физики. Часть 1 – как проводить видеоанализ. Филиппова И.Я. Аннотация. Статья посвящена видеоанализу – записи и обработке видеоинформации о движении. Использование видеоанализа позволяет превратить видеозапись в источник количественных данных о движении. В работе проведено сравнение трех программных сред, в состав которых входит инструмент видеоанализа. Показано, что последовательность действий при видеоанализе одинакова во всех программных средах и включает съемку видеоматериала, процедуру масштабирования, разметку видеофрагмента и математическую обработку полученных результатов. Ключевые слова: видеоанализ, физика, движение, ускорение, обработка, программа, MeasureDynamics, Multilab, «1С: Измеритель». Video analysis as a tool for physics teachers. Part 1 — How to do video analysis. Abstract. The article is devoted to video analysis — recording and processing of video information about moving. Using video analysis allows to convert video into a source of quantitative data of moving. Comparison of the three software environments, which include video analysis tool, is done. It is shown that the sequence of actions in the video analysis is the same in all programs and includes video recording, scaling procedure, movie marking and mathematical processing of the results. Key words: video analysis, physics, motion, acceleration, handling, application, MeasureDynamics, Multilab, «1C: Meter».

Download Free PDF View PDF

«Agen Tabung Pemadam Rp, Agen Alat Pemadam Api Ringan Merk Firezap, Agen Tabung Pemadam Mobil, Agen Alat Pemadam Api Ringan Semarang, Agen Tabung Pemadam Kebakaran, Agen Tabung Pemadam Kebakaran Adalah, Agen Tabung Pemadam Kebakaran Foam, Agen Tabung Pemadam Kebakaran Di Bali, Agen Tabung Pemadam Foam, Agen Tabung Pemadam Dari Tepung Berwarna Product Firezap® Adalah Product Dari USA Yang Telah Terbukti Keunggulannya. Selain Efektif Memadamkan Api, Firezap® Adalah Satu-Satunya Pemadam Yang Memastikan Api Tidak Akan Menyala Kembali Serta Menurunkan Suhu Bahan Yg Terbakar Secara Drastis (Menjadi Dingin). Lindungi Property Kita Dengan Pemadam Yang Andal : FIREZAP® FIREZAP FOR AR Tersedia Dalam : Tabung 4 KG Tabung 6 KG Tabung 9 KG Tabung 25 KG Tabung 50 KG Tabung 80 KG Lindungi Property Kita Dengan Pemadam Yang Andal : FIREZAP® Untuk Info Dan Pemesanan Hubungi : Bapak Ilham Alamat : Karamatjati Jakarta Timur DKI Jakarta Kontak : HP : 0812.1890.8795 || WA : https://is.gd/SupplierTabungPemadamKebakaran Email : distributortabungpemadam@gmail.com YouTube : https://www.youtube.com/watch?v=hyIVVE3uhkU»

Download Free PDF View PDF

Download Free PDF View PDF

ביאן — רבעון לענייני החברה הערבית בישראל

הדיון בהגדרתה של ישראל כמדינה יהודית הוא מן הדיונים הממושכים ביותר בחברה הערבית, גם אם בשנים האחרונות הוא נדחק לקרן זווית. לדיון זה שותפים בעיקר שני זרמים אידאולוגיים, הזרם הקומוניסטי והזרם הלאומי, ואילו הזרם האסלאמי ממעט לעסוק בו. במישור הדתי העקרוני, אנשי הזרם האסלאמי אינם מכירים בזכותם ההיסטורית של היהודים על הארץ. במישור הפוליטי והמעשי, הם משלימים עם העובדה שישראל היא מדינת לאום יהודית ושהרוב היהודי מממש בה את זכותו להגדרה עצמית. ההצהרה של מנסור עבאס עולה בקנה אחד עם הצהרות דומות שנשמעו בעבר מפיהם של ראשי התנועה האסלאמית, כדוגמת מייסד התנועה שיח’ עבדאללה נמר דרוויש, שיח’ חמאד אבו דעאבס ושיח’ אבראהים צרצור. אמנת התנועה האסלאמית, שפורסמה בספטמבר 2018, מותחת ביקורת נוקבת על הנסיבות ההיסטוריות שהובילו להקמת המדינה, אולם היא אינה מציעה שינויים בהגדרתה של ישראל כמדינה יהודית. ההצטרפות של רע»מ לקואליציה בקיץ שעבר היא צעד חסר תקדים. אם יתברר כי צעד זה יגיע אל המטרות שהציב לעצמו, רע»מ עשויה לקטוף את פירותיו בבחירות הבאות.

Download Free PDF View PDF

Download Free PDF View PDF

African Journal of Microbiology Research

Download Free PDF View PDF

The Proceedings of JSME annual Conference on Robotics and Mechatronics (Robomec)

Download Free PDF View PDF

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *