![]() |
|
![]() |
#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
|
![]() |
---------
.
|
|
![]() |
![]() |