Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
#1

Опухлость функции / Метод Гессе - C++

19.10.2011, 21:58. Просмотров 543. Ответов 3
Метки нет (Все метки)

Дано задание решить матрицу Гессе. Дошел до того места, где нужно узнать опухла функция или нет, но не знаю как это сделать, как определить опухлость функции?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
                        ////////KPOK 1 BEGIN
double f(double x1, double x2) // - main function
{
        return (pow(x1,2) + pow(x2+1,2))*(pow(x1,2) + pow(x2-1,2));
}
 
double df(double x1, double x2) // - Derivative from main function
{
        return pow(x1,4) + pow(x2,4)+2*pow(x1,2)*pow(x2,2)+2*pow(x1,2)-
        2*pow(x2,2)+1;
}
 
double dfx1(double x1, double x2)// - Derivative of x1
{
        return 4*pow(x1,3)+4*x1*pow(x2,2)+4*x1;
}
 
double dfx2(double x1, double x2)// - Derivative of x2
{
        return 4*pow(x2,3)+4*x2*pow(x1,2)-4*x2;
}
                        ////////KPOK 1 END
 
                        ////////KPOK 2 BEGIN
/*double sT(double x1, double x2)
{
 x1=0;
 x2=0;
 return (x1,x2);
}
  */
                        ////////KPOK 2 END
 
                        ////////KPOK 3 BEGIN
double d2fx1(double x1, double x2)// - second Derivative of x1
{
    return 12*pow(x1,2)+4*pow(x2,2)+4;
}
double d2fx2(double x1, double x2)// - second Derivative of x2
{
    return 12*pow(x2,2)+4*pow(x1,2)-4;
}
double d2fx1x2(double x1, double x2)// - second Derivative of x1*x2
{
    return 8*x1*x2;
}
double d2fx2x1(double x1, double x2)// - second Derivative of x2*x1
{
    return 8*x1*x2;
}
                        ////////KPOK 3 END
 
int main()
{
clrscr();
        double dx,x1,x2,e;
                int st;
                st=0;
                do{
                st++;
                cout<<"Enter x1 : ";cin>>x1;
                cout<<"Enter x2 : ";cin>>x2;
 
                //cout<<"Enter e : ";cin>>e;
                //dx = e/10;
    cout<<"  KPOK 1"<<endl;
    cout<<"df(x1)= "<<dfx1(x1,x2)<<"\r\n";
    cout<<"df(x2)= "<<dfx2(x1,x2)<<"\r\n";
 
        cout<<"  KPOK 2"<<endl;
        cout<<"f(x)=["<<x1<<";"<<x2<<"]"<<endl;
                cout<<"  KPOK 3"<<endl;
            cout<<"d2f(x1)= "<<d2fx1(x1,x2)<<"\r\n";
            cout<<"d2f(x2)= "<<d2fx2(x1,x2)<<"\r\n";
            cout<<"d2f(x1*x2)= "<<d2fx1x2(x1,x2)<<"\r\n";
            cout<<"d2f(x1*x2)= "<<d2fx2x1(x1,x2)<<"\r\n";
                    cout<<"  KPOK 4"<<endl;
                    cout<<"==================="<<endl;
 
 
//answer
 
                //cout<<"df/dx :"<<(f(x1,x2 + dx) - f(x1,x2))/dx<<"\r\n";
}while(st!=4);
getch();
return 0;
}
Или как перемножить эти три матрицы:
[x1,x2] l 4 0l [x1]
-------l0 4l [x2]
Уточнение если не понятно=):
Матрица1(1 строка 2 столбца)* Матрица2(2 строки 2 столбца) *Матрица3 (2 строки 1 столбец)
Но в матрице 1 и 3 - х1 и х2 єт символы, и нужно так перемножить что бы выйшло: 4*x1^2+4*x2^2

Ы.З.: Может я не прав в чем то, поправьте)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 21:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Опухлость функции / Метод Гессе (C++):

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя - C++
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

метод класса во внешней функции - C++
подскажите как во внешней функции, если в нее как параметр передан элемент класса, вызвать метод класса для этого самого элемента класса? ...

Метод медиан из трех элементов VS улучшенный быстрый метод сортировки(метод Бентли-Макилроя) - C++
Здравствуйте! Дали весьма интересное задание. Сравнить два вышеуказанных метода сортировки для массива из 10000 элементов, результаты...

Метод средних прямоугольников для функции - C++
Напишите пожалуйста формулу средних прямоугольников для функции в c++ , а то уже все облазил и не нашел.

Как из дружественной функции сделать метод - C++
Ну изначальное задание звучит так: Реализовать класс Вектор наследник класса Комплекс. Перегрузить 1 префиксную, 1 бинарную, 1 унарную...

Передача переменных из функции в метод класса - C++
У меня есть главная функция и класс, в котором есть 2 функции. Как мне после выполнения 1-й функции с класса вывести с нее 3 переменных...

3
aeshes
441 / 204 / 13
Регистрация: 07.10.2011
Сообщений: 462
20.10.2011, 20:22 #2
Цитата Сообщение от MAQSA Посмотреть сообщение
опухла функция или нет
Что это? Функции не опухают. Функции бывают выпуклыми и вогнутыми. Вам это надо?

Добавлено через 1 минуту
Цитата Сообщение от MAQSA Посмотреть сообщение
Или как перемножить эти три матрицы:
Матрицы перемножаются по правилам умножения матриц ("строка на столбец")
В первой и третьей матрицах при расчетах у вас будут не символы х1 и х2, а их значения, т.е. числа
0
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
21.10.2011, 23:06  [ТС] #3
Ну да выпуклые и вогнутые, (проблемы с переводом хД)

А вот тут я кое что и не знаю в умножение этих матриц, ну просто если я узнаю какая будет функция, выпуклая или вогнута то множить уже не нужно. Просто по правилам этого методам, там в конце именно это умножение, и уже понему видем ответ, какая она есть. Проще говоря, в конце если х1 и х2 квадрате то все нормально, если нет то нету ришенние или что там уже не важно.
0
aeshes
441 / 204 / 13
Регистрация: 07.10.2011
Сообщений: 462
21.10.2011, 23:36 #4
MAQSA, в своей программе вы вычисляете матрицу Гессе для каждой точки (для каждого конкретного значения х1 и х2, введенного с клавиатуры). Поэтому в матрицах будут только числа, в результате их перемножения вы получите число, и по нему уже будете делать выводы о характере функции
0
21.10.2011, 23:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2011, 23:36
Привет! Вот еще темы с ответами:

Аргумент функции - указатель на метод класса - C++
Здравствуйте. Содержание задания - написать программу, создающую копию выбранного пользователем файла при помощи n-го кол-ва потоков...

Хеш-функции. Метод открытого хеширования - C++
Написать программу, которая реализует метод открытого хеширования и хеш-функцией, основанной на методе деления со остатком. Если можно, то...

Шаблонные функции (нужно сделать метод сортировки) - C++
Сделать в виде шаблонных функций алгоритмы сортировки массивов методом Пузырька, Выбора и Вставки С++ хоть какой не будь из этих...

Как передать функции через метод класса - C++
Добрый вечер всем! Столкнулся с проблемкой К примеру у меня есть 3 функции.Я хочу в 4 функцию дать массив названий этих 3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.