Портал аспирантов

Портал аспирантов (http://www.aspirantura.spb.ru/forum/index.php)
-   Software (программное обеспечение) (http://www.aspirantura.spb.ru/forum/forumdisplay.php?f=107)
-   -   Нужно построить уравнение поверхности. Подскажите программу. (http://www.aspirantura.spb.ru/forum/showthread.php?t=10516)

Lexander 15.11.2012 07:31

Нужно построить уравнение поверхности. Подскажите программу.
 
Есть 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 строит поверхность, но не строит функцию. А мне надо функцию именно узнать. Есть такая программа?

Hogfather 15.11.2012 08:03

Цитата:

Сообщение от Lexander (Сообщение 290843)
Нужна программа, в которую можно вставить матрицу 1000х70 и которая построит по ней функцию I=f(x,y). Excel строит поверхность, но не строит функцию. А мне надо функцию именно узнать. Есть такая программа?

Lexander, например, GNU R.
Только сформулируйте задачу непротиворечиво: построить I по х,у при известной f, или аппроксимировать f по x,y,I. Это несколько разные задачи.
Вам полиномище что-ли нужен? Дык, это и Excel умеет...

Вот это
Цитата:

Сообщение от Lexander (Сообщение 290843)
Excel строит поверхность, но не строит функцию.

вызвало разрыв шаблона.

Lexander 15.11.2012 09:04

Функция задана таблично. То есть матрица чисел 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?
http://www.emaenu.pisem.net/g.jpg

ptrvc 15.11.2012 09:37

Maple должен это уметь.

Hogfather 15.11.2012 10:23

Ну, я не пробовал подгонять двухпараметрическую функцию, но можем и попробовать.
Код:

># Инициируем данные

> 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)

Где-то так. R также работает с матрицами, но я в этом пока не разбирался, поэтому матрицу развернул. Думаю, идея понятна.

Lexander 15.11.2012 10:27

Цитата:

Сообщение от ptrvc (Сообщение 290848)
Maple должен это уметь.

Установил Maple 7. Он не строит функций.

phys2010 15.11.2012 10:49

Почему не строит? Замечательно строит. Почитайте "Maple V Power Edition" (Б.М. Манзон), там все описано. Скачать можно здесь.

А... речь идет не о графике, а о самой функции. Тогда не скажу... Могу лишь посоветовать более полное руководство по Maple: "Maple 6. Решение задач высшей математики и механики" (Матросов А.В.).

Lexander 15.11.2012 10:57

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

Видимо я не тот Maple установил. В моём Maple в справке написано: "Maple - удобный и легкий в использовании менеджер документов, который позволяет создавать иерархические деревья для хранения документов, заметок, изображений, и т. д.". Выглядит он как текстовый редактор.

Сейчас начал скачивать нужный Maple, потом посмотрел на размер - 1,9 Гб и прекратил скачивать. Мне бы что-нибудь не такое весомое... А книжку я скачал на всякий случай.

Hogfather 15.11.2012 11:02

Цитата:

Сообщение от Lexander (Сообщение 290863)
Hogfather, это MATLAB?

Цитата:

Сообщение от Hogfather (Сообщение 290844)
Lexander, например, GNU R.

:facepalm:

Lexander 15.11.2012 11:20

Цитата:

Сообщение от Hogfather (Сообщение 290844)
Вам полиномище что-ли нужен? Дык, это и Excel умеет...

Согласен на полином. Как его построить для трёхмерного графика в Excel?


Текущее время: 01:06. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2024, «Аспирантура. Портал аспирантов»