|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
Аппроксимация поверхности МНК07.04.2013, 22:08. Показов 12716. Ответов 27
Метки нет (Все метки)
Доброго времени суток, уважаемые форумчане!
Передо мной стоит задача аппроксимации экспериментальных данных, представленных в виде матрицы nxn (грубо говоря, это изображение, размером nxn пикселей, значение каждого элемента матрицы - интенсивность изображения в данной точке). Необходимо аппроксимировать эти данные при помощи некоторой функции, т.е. методом наименьших квадратов определить коэффициенты, входящие в эту функцию для лучшего описания ею экспериментальных данных. Как решать такую задачу при зависимости у(x) на форуме не раз подробно обсуждалось, да и в хелпе к матлабу понятно описано. А вот как быть, если случай трехмерный z(x,y) и моя функция (которой необходимо аппроксимировать экспериментальные данные) не банальный многочлен, а достаточно сложная отдельно вычисляемая функция в которую необходимые мне коэффициенты входят нелинейно. Буду благодарна за любую помощь!
0
|
|
| 07.04.2013, 22:08 | |
|
Ответы с готовыми решениями:
27
Аппроксимация по МНК Аппроксимация МНК Аппроксимация МНК вида a*exp(b*x) |
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 09.04.2013, 11:47 [ТС] | |
|
Скажите, пожалуйста, Curve Fitting Tool позволяет задавать для аппроксимации только те функции, которые там уже "вшиты" (типа гауссианов, экспонент, степенных многочленов) либо предлагает ввести CustomEquation вручную. Вопрос вот в чем: возможно ли вводить такую функцию не вручную, а задавать уже написанную в матлабе функцию (может, ее как-то определенно задать можно, чтобы было понятно где у нее коэффициенты для подгонки?).
0
|
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
||
| 10.04.2013, 09:50 | ||
|
все же матрица N * M или матрица N * M * K матрица двумерная или трехмерная ?
0
|
||
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 10.04.2013, 09:56 [ТС] | |
|
Матрица двумерная NxN
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 10.04.2013, 10:06 [ТС] | |
|
Вот изображение моей поверхности.
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 10.04.2013, 10:16 [ТС] | |
|
Проблемма в том, что функцию, которой нужно аппроксимировать эти данные, невозможно просто написать ручками в CurveFitTool, её приходится рассчитывать в отдельном .m файле. В связи с этим вопрос: можно ли все-таки сделать это в CurveFitTool каким-то образом дав ссылку на мою функцию, зависящую от х,у и кучи параметров?
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
||||||
| 13.04.2013, 08:13 [ТС] | ||||||
|
Я так поняла, что cftool мне использовать не удастся.
Тогда, взгляните, пожалуйста, можно ли так реализовать МНК:
0
|
||||||
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 13.04.2013, 09:17 | |
|
Все же не понятно что нужно.
theta0 - на вход функции откуда берется ? Вы ее вычисляете ? Или это массив данных ?
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 14.04.2013, 19:59 [ТС] | |
|
Как видно на прикрепленной выше картинке, моя поверхность - это некий набор "холмов" различной высоты. В начальном приближении theta0 я задаю координаты х и у максимумов этих пиков, их высоты, полуширины и константу фона. theta0 - это вектор, количество элементов которого зависит от количества пиков на экспериментальной картинке. Я задаю его приблизительно, анализируя имеющуюся у меня картинку.
0
|
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 14.04.2013, 22:58 | |
|
Как можно задать "приблизительно" ?
Не понятно, можете привести пример приблизительного задания ? Это будет число - ? Можете привести весь код, который рисует вашу картинку и где вы определяете theta0 ?
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 15.04.2013, 00:49 [ТС] | |
|
Видимо, я не очень понятно выразилась. Не приблизительно, конечно.
Вот моя тета. Я задаю ее, подбирая так, чтобы получаемое с помощью моей функции изображение как можно больше соответствовало экспериментальной картинке, которую я приводила выше. teta0=[0,01 0,37 0,74 0,01 0,38 0,74 0,01 0,38 0,74 0,19 0,56 0,19 0,56 0,01 0,01 0,01 0,38 0,38 0,38 0,74 0,74 0,74 0,2 0,19 0,56 0,56 40 40 40 40 40 40 40 40 40 55 55 55 55 0,04 0,04 0,04 0,04 0,04 0,04 0,04 0,04 0,04 0,07 0,07 0,07 0,07 10] Картинка, получаемая при помощи моей функции: Моя задача, найти такую тета, при которой конечная картинка будет максимально соответствовать экспериментальной. Для этого я хочу использовать МНК. Т.е. я задаю начальную точку theta0 (насколько могу сама ее подобрать), а дальше запускаю минимизацию функции разности между экспериментальной картинкой и моей расчетной.
0
|
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 15.04.2013, 06:18 | |
|
А экспериментальная картинка - это набор данных ?
Или вы просто сравниваете два рисунка ? А как тогда вы определяете их совпадение - на глазок ? Или вы сравниваете ДВА набора данных , расчетный и экспериментальный ?
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 15.04.2013, 09:58 [ТС] | |
|
Да, экспериментальная картинка - это набор данных. И я сравниваю два набора данных.
Добавлено через 2 минуты Мне нужно чтобы каждый элемент расчетной матрицы как можно меньше отличался от экспериментальной и знать вектор тета при котором это происходит.
0
|
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 15.04.2013, 11:28 | |
|
Приведите тут если можно набор данных и ваш листинг по расчетным данным
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 15.04.2013, 14:18 [ТС] | |
|
0
|
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 16.04.2013, 23:07 | |
|
В таблицах массивы данных, понятно.
А как вы получаете расчетный массив данных ? Программа расчета доступна, она сделана в матлаб ? Добавлено через 42 минуты Импортировал ваши данные в матлаб и вычел из экспериментальных данных расчетные, получилась такая картинка Невязка имеет плавную структуру Ее можно подобрать сплайнами и добавлять к расчетным данным в каждой точке сетки Получим идеальное совпадение с наблюдением ...
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
||||||
| 17.04.2013, 11:10 [ТС] | ||||||
|
Функция на матлабе. Боюсь, без пояснения физики процесса она будет казаться весьма странной.
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 17.04.2013, 11:24 [ТС] | |
|
Не тот файл присоединила вот матрица P:
P21x21.xls Прошу админов удалить аттач в предыдущем моем сообщении - он не нужен.
0
|
|
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 24
|
|
| 17.04.2013, 13:12 [ТС] | |
|
На всякий случай, попробую пояснить что эта функция делает.
Эксперимент - это сканирующая просвечивающая электронная микроскопия. Есть электронный пучок, который освещает объект исследования (образец) и есть изображение этого объекта, которое мы видим на экране (та самая матрица данных). В программе P - это заранее вычисленное распределение интенсивности сфокусированного электронного "пятна" в плоскости образца XY. Образец - это кристалл, т.е. периодическая структура. Эту структуру мы не знаем, но предполагаем, что ее можно задать как сумму гауссианов, для которых мы задаем вектор параметров тета, перечисляющий последовательно все координаты х максимумов, все координаты у максимумов, все высоты, все полуширины, и добавляем константу фона. При помощи тета вычисляем матрицу O. Теперь мы имеем матрицу P размером 21x21 и матрицу O размером 74x74. Каждый элемент матрицы F(l,k) получается как интеграл от произведения матрицы P на (вот тут внимание!) часть матрицы O c центром на элементе O(l,k) и размером 21х21 (как P). Т.е. чтобы, например, вычислить F(12,12) я беру интеграл от P.*O(12-10:12+10,12-10:12+10). Чтобы это вычислить я делаю два дополнительных шага: 1. добавляю граничные условия, т.е. окружаю матрицу O такими же матрицами со всех сторон, чтобы иметь возможность вычисления, например F(1,1); 2. заранее формирую новую матрицу Okl в которую стыкую все матрицы, которые будут перемножаться с P (этого можно и не делать, можно под интегралом задавать с какого по какой элемент надо брать O, но мне показалось, так удобнее). Смысл всего этого действа: найти неизвестные параметры исследуемого объекта, записанные в векторе тета, зная параметры прибора (при помощи них вычисляется P) и матрицу получаемых данных. По-этому, просто добавить невязку к каждому элементу нельзя. И начальное значение тета я тоже просто подбираю.
0
|
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 17.04.2013, 16:48 | |
|
Может я не очень понял, но идея у меня такая - задать больший диапазон изменения для ТЕТА
и для каждого значения ТЕТА вычислить величину невязки. Тогда можно будет увидеть при каких значениях ТЕТА наступает минимум невязки ? И в районе этого минимума невязки сделать много малых изменений ТЕТА для уточнения этого минимума. Хотя экспериментальные данные с теорией никогда на 99% не сойдутся , ошибка в 30-50 % это хороший показатель. Потому что теория отражает только часть факторов влияния, а эксперимент фиксирует ВСЕ , в том числе и НЕ ИЗВЕСТНЫЕ еще факторы
1
|
|
| 17.04.2013, 16:48 | |
|
Помогаю со студенческими работами здесь
20
Аппроксимация поверхности
МНК аппроксимация Аппроксимация МНК Аппроксимация методом МНК Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|