![]() |
|
|
|
#1 |
|
Advanced Member
Регистрация: 22.08.2006
Адрес: Барнаул, Алтайский край
Сообщений: 250
|
Есть 8-битное изображение BMP шириной в 1000 пикселей и высотой в 70 пикселей. Каждый пиксел изображения имеет яркость от 0 до 255. Нужно построить функцию вида I = f (x, y) , где I - яркость пикселя (0..255), х и y - координаты пикселя (х=1..1000, y=1..70). Нужна программа, в которую можно вставить матрицу 1000х70 и которая построит по ней функцию I=f(x,y). Excel строит поверхность, но не строит функцию. А мне надо функцию именно узнать. Есть такая программа?
|
|
---------
.
|
|
|
|
|
| Реклама | |
|
| |
|
|
#2 | |
|
Platinum Member
Регистрация: 22.07.2010
Адрес: Санкт-Петербург
Сообщений: 3,304
|
Цитата:
Только сформулируйте задачу непротиворечиво: построить I по х,у при известной f, или аппроксимировать f по x,y,I. Это несколько разные задачи. Вам полиномище что-ли нужен? Дык, это и Excel умеет... Вот это вызвало разрыв шаблона. |
|
|
---------
DNF is not an option
|
||
|
|
|
|
|
#3 |
|
Advanced Member
Регистрация: 22.08.2006
Адрес: Барнаул, Алтайский край
Сообщений: 250
|
Функция задана таблично. То есть матрица чисел 1000х70. y принимает значения от 1 до 70 (строки), x от 1 до 1000 (столбцы). Сами числа в матрице - от 0 до 255, это I. Нужно узнать уравнение вида I = f (x, y), то бишь найти f. Например такого вида: I = a*х^2 + b*y^2 (параболоид).
Добавлено через 14 минут Вот пример. Создал матрицу 3х3, заполнил произвольными числами, построил поверхность (Excel). Для двумерных графиков можно добавить линию тренда и узнать уравнение у=f(x). А как для трехмерного графика узнать уравнение z=f(x,y) в Excel?
|
|
---------
.
|
|
|
|
|
|
|
#4 |
|
Advanced Member
Регистрация: 20.10.2011
Сообщений: 298
|
Maple должен это уметь.
|
|
|
|
|
|
#5 |
|
Platinum Member
Регистрация: 22.07.2010
Адрес: Санкт-Петербург
Сообщений: 3,304
|
Ну, я не пробовал подгонять двухпараметрическую функцию, но можем и попробовать.
Код:
># Инициируем данные
> MyData<-data.frame(x=c(rep(c(1,2,3),3)),y=c(1,1,1,2,2,2,3,3,3))
> MyData$I<-MyData$x^2-MyData$y^2
># Таращимся на результат
> MyData
x y I
1 1 1 0
2 2 1 3
3 3 1 8
4 1 2 -3
5 2 2 0
6 3 2 5
7 1 3 -8
8 2 3 -5
9 3 3 0
># Подключаем доступ к переменным из таблицы по именам
> attach(MyData)
> (MyMdl<-lm(I~x+y+x*y+I(x^2)+I(y^2)))
> summary(MyMdl)
Call:
lm(formula = I ~ x + y + x * y + I(x^2) + I(y^2))
Residuals:
1 2 3 4 5 6 7
1.436e-16 -3.583e-16 2.147e-16 -5.121e-17 2.445e-16 -1.933e-16 -9.244e-17
8 9
1.138e-16 -2.139e-17
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.067e-15 1.322e-15 1.563e+00 0.216
x -1.776e-15 9.840e-16 -1.805e+00 0.169
y 2.989e-16 9.840e-16 3.040e-01 0.781
I(x^2) 1.000e+00 2.298e-16 4.351e+15 <2e-16 ***
I(y^2) -1.000e+00 2.298e-16 -4.351e+15 <2e-16 ***
x:y -3.065e-16 1.625e-16 -1.886e+00 0.156
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.25e-16 on 3 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: 1
F-statistic: 3.711e+32 on 5 and 3 DF, p-value: < 2.2e-16
# Дальше по одному убираем лишнее
# Курс по аппроксимации МНК читать не собираюсь.
# финальная стадия
> MyMdl<-lm(I~I(x^2)+I(y^2)+0)
> summary(MyMdl)
Call:
lm(formula = I ~ I(x^2) + I(y^2) + 0)
Residuals:
Min 1Q Median 3Q Max
-4.899e-16 -1.357e-16 -2.659e-17 8.422e-17 3.775e-16
Coefficients:
Estimate Std. Error t value Pr(>|t|)
I(x^2) 1.000e+00 2.336e-17 4.282e+16 <2e-16 ***
I(y^2) -1.000e+00 2.336e-17 -4.282e+16 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.985e-16 on 7 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: 1
F-statistic: 1.1e+33 on 2 and 7 DF, p-value: < 2.2e-16
> anova(MyMdl)
Analysis of Variance Table
Response: I
Df Sum Sq Mean Sq F value Pr(>F)
I(x^2) 1 32.667 32.667 3.6663e+32 < 2.2e-16 ***
I(y^2) 1 163.333 163.333 1.8331e+33 < 2.2e-16 ***
Residuals 7 0.000 0.000
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Предупреждение
In anova.lm(MyMdl) :
применение F-критерия для в целом хорошей подгонки бессмысленно
# Убираем за собой
> detach(MyData)
|
|
---------
DNF is not an option
|
|
|
|
|
|
|
#6 |
|
Advanced Member
Регистрация: 22.08.2006
Адрес: Барнаул, Алтайский край
Сообщений: 250
|
|
|
---------
.
|
|
|
|
|
|
|
#7 |
|
Silver Member
Регистрация: 30.12.2010
Адрес: ЦФО, Россия
Сообщений: 852
|
Почему не строит? Замечательно строит. Почитайте "Maple V Power Edition" (Б.М. Манзон), там все описано. Скачать можно здесь.
А... речь идет не о графике, а о самой функции. Тогда не скажу... Могу лишь посоветовать более полное руководство по Maple: "Maple 6. Решение задач высшей математики и механики" (Матросов А.В.). |
|
|
|
|
|
#8 |
|
Advanced Member
Регистрация: 22.08.2006
Адрес: Барнаул, Алтайский край
Сообщений: 250
|
phys2010, мне бы лучше ссылку, где скачать сам Maple, чтоб не ознакомительная версия, и чтоб бесплатно, если такое счастье возможно...
Видимо я не тот Maple установил. В моём Maple в справке написано: "Maple - удобный и легкий в использовании менеджер документов, который позволяет создавать иерархические деревья для хранения документов, заметок, изображений, и т. д.". Выглядит он как текстовый редактор. Сейчас начал скачивать нужный Maple, потом посмотрел на размер - 1,9 Гб и прекратил скачивать. Мне бы что-нибудь не такое весомое... А книжку я скачал на всякий случай. |
|
---------
.
|
|
|
|
|
|
|
#9 |
|
Platinum Member
Регистрация: 22.07.2010
Адрес: Санкт-Петербург
Сообщений: 3,304
|
|
|
---------
DNF is not an option
|
|
|
|
|
|
|
#10 |
|
Advanced Member
Регистрация: 22.08.2006
Адрес: Барнаул, Алтайский край
Сообщений: 250
|
|
|
---------
.
|
|
|
|
|