Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник лабораторных работ.doc
Скачиваний:
16
Добавлен:
22.02.2015
Размер:
12.91 Mб
Скачать

Аппроксимация

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

Точность получаемых результатов зависит от метода аппроксимации и от тех функций, которыми осуществляется приближение. В связи с этим был предложен метод аппроксимации “фундаментальными” сплайнами. Многочисленные вычислительные эксперименты показывают, что интерполяция, как средство аппроксимации, в данном случае, даёт значительные ошибки, даже на тестовых примерах (т.к. из эксперимента данные поступают уже с какой-то погрешностью).

В программе процедура аппроксимации выделена в отдельный модуль и занимает значительную часть от общего объема программы. Весь отрезок равномерно разбиваетсяточками, называемые узлами аппроксимации. Здесь- количество входных узлов. Отметим, что сами данные могут быть представлены как на равномерной сетке, так и на неравномерной. Знак «» стоит потому что можно выбрать любое количество узлов, не больше чем, и не меньше трёх. На каждом шаге рассматриваются, лишь, четыре узла, которые постоянно сдвигаются (по одному за шаг), от первого до. Искомая функция(t), на отрезке ограниченном этими узлами, разлагается по заданному базису, представляющему собой многочлены третей степени (фундаментальные сплайны). Эти функции обладают следующими свойствами: каждая из этих четырех функций равна единице в определенном узле, а во всех остальных принимает значение равное нулю.

Кроме того, с учетом симметрии, можно свести построение четырёх функций, с указанными свойствами, к построению двух:

и

Оставшиеся две получаются из первых двух. Если первую или вторую функцию симметрично отразить и сдвинуть, то получится третья или четвертая:

Искомая функция будет представлена в виде:

.

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

Результатом работы процедуры будет массив .

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

Особенности аппроксимации данных оптического эксперимента

Рассмотрим два примера.

  1. Чистый изгиб балки прямоугольного сечения (лаб. работа № 2).

Решение этой задачи:

=;

=0;=0;

при переходе через прямую -и- меняются местами.

Т.е. при , а при.

Таким образом, величиныиимеют следующий вид

2) Кольцо, сжатое по диаметру.

Здесь AB- ось симметрии, поэтому=0, а нормальные напряжения являются главными.

Рассмотрим как ведут себя и. На отрезкеABесть точка изотропная точкаM, в которой=(). По определению главных напряжений.

На участке AM:

На участке MB:

Врезультате имеем

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

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

Рассмотрим, как эти особенности отражаются на вычислениях.

Методы полос и компенсации - вычислительная сторона.

Метод компенсации.

Из эксперимента мы имеем

и , гдепринимает значение , и .

Получаем .

Далее находим: .

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

Данный метод описан в программе и выделен в отдельную процедуру.

Метод полос.

В общем случае имеем:

Функцииина всех трех полосах заданы в различных точках,,.

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

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

1) найти ;

2) найти .

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

Аппроксимировать . Находим её значение в точках(где известно). Далее находимв точках, где известно, на каждой полосе в отдельности. И потом аппроксимируем. Очевидно, что при таком подходе точность окончательного результата будет сильно зависеть от количества точек задания.

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

Далее интегрируется и определяетсяи. Этот метод так же реализован в программе и выписан в отдельную программную функцию.

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

Программа разработана в среде Delphiна языкеObjectPascal. Использовалась стандартная библиотека визуальных компонентов фирмыBorland, а также некоторые её расширения. Программа имеет стандартный интерфейс операционной системыWindows. Программа позволяет хранить блоки исходных данных в различных форматах: “текстовый” (можно подготавливать блоки на любой машине без использования самой программы), и “свой” (можно создавать и редактировать блоки данных в среде программы).

Для всех тестовых задач входные данные генерируются автоматически, по указанным пользователем параметрам. Для этого предусмотрена возможность редактирования параметров и динамического пересчета результатов (т.е. когда на экране есть решение задачи, пользователь меняет один параметр – программа тут же выдаёт навое решение). Эта возможность позволяет наглядно увидеть зависимость решения от начальных данных. Есть возможность: видеть картину полос для модели и положение исследуемой полосы, “менять” геометрическое положение заданной прямой на исследуемой модели, “менять” расстояние между выбираемыми прямыми и их длину, менять количество входных точек и процент аппроксимации (см. раздал “Аппроксимация”). Используя эти возможности можно достаточно эффективно исследовать особенности решаемых задач.

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

Рис. 2. Диск, сжатый по диаметру.

Рис. 3. Диск, сжатый по хорде.

Рис. 4. Изгиб кривого бруса.

Рис. 5. Изгиб кривого бруса.

Рис.6. Полукольцо.