Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Решение'
Во исполнение Законов Кыргызской Республики «О нормативных правовых актах Кыргызской Республики», «О лекарственных средствах», в целях улучшения дост...полностью>>
'Планы семинарских занятий'
Планы семинарских занятий содержат список рекомендованной литературы и нормативных источников по всему курсу и по каждой из тем практических занятий,...полностью>>
'Документ'
Несмотря на большой опыт, накопленный наукой и практикой, мето­дик нетра­дицион­ного физического воспита­ния, имеющих научное психо­лого-педа­гогиче­...полностью>>
'Документ'
Жизнь зародилась в океане, и сегодня наш организм более чем на 70% состоит из воды. Значение рН (показатель концентрации ионов водорода) морской воды...полностью>>

Курсовая работа по численным методам «Минимизация функций нескольких переменных. Метод спуска.»

Главная > Курсовая
Сохрани ссылку в одной из сетей:

if (DD==true )

{

for ( int i=0; i<n; i++)

{

if ( InterN[i] > TempT[i])

{

Diapozon=false;

Minimum = true;

}

if (InterK[i] < TempT[i])

{

Diapozon=false;

Minimum = true;

}

}

}

for (int j=0;j<n;j++)

{

T1[j]=T2[j]; //T1=T2

T2[j]=TempT[j]; //T2=TempT

}

// начало блока 3

ModG=0; //- модуль градиента

for (int i = 0; i < n; i++)

{

ModG+= Gr(i)*Gr(i);

}

ModG=sqrt(ModG);

if ( ModG < Param[2]) // /gradient/ < e где e-погрешность

{ Minimum=true; } // /gradient/ - модуль градиента

// конец блока 3

ss++;

if (Param[3] != -1 )

if (ss == Param[3])

Minimum=true;

// начало блока 4

if ( ss > 99 )

{ MessageDlg("Предел превышен ...точек более 100 ..измените шаг",mtWarning,

TMsgDlgButtons() << mbOK , 0);break;}

if(Diapozon==true)

{

for (int j = 0; j < n; j++)

Tochki[ss][j] = T2[j];

}

}

for (int j = 0; j <= ss; j++)

{

for (int i = 0; i < n; i++)

TempT[i]= Tochki[j][i];

switch (UD->Position) {

case 0: Tochki[j][2] = F1(TempT) ; break;

case 1: Tochki[j][2] = F2(TempT); break;

case 2: Tochki[j][2] = F3(TempT); break; }

}

//

/* double **Temp; //создаем массив Temp[ss][n]

Temp = new double*[ss];

for (int j = 0; j < ss; j++)

Temp[j] = new double[n];

//

for (int i = 0; i < ss; i++)

for (int j = 0; j < n; j++)

Temp[i][j]=Tochki[i][j];

//

//for (int i = 0; i < ss; i++) //удаляем массив Tochki[ss][n]

//delete[] Tochki[i];

//delete Tochki;

//

int mm=ss+1;

double **Tochki; //создаем массив Tochki[ss+1][n]

Tochki = new double*[mm];

for (int j = 0; j < mm; j++)

Tochki[j] = new double[n];

//

for (int i = 0; i < mm-1; i++)

for (int j = 0; j < n; j++)

Tochki[i][j] = Temp[i][j];

//

for (int j = 0; j < n; j++)

Tochki[ss][j] = T2[j];

//

//for (int i = 0; i < ss; i++) //удаляем массив Temp[ss][n]

//delete[] Temp[i];

//delete [] Temp;

}

// конец блока 4 */

}

//--------------------------------------------------------------------------

void __fastcall TForm1::UDClick(TObject *Sender, TUDBtnType Button)

{

Edit2->Text=Formula[UD->Position];

}

//---------------------------------------------------------------------------

void __fastcall TForm1::StartClick(TObject *Sender)

{

Panel1->Visible=false;

Edit2->Text=Formula[UD->Position];

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SH2NextClick(TObject *Sender)

{

ii++;

PageControl1->ActivePageIndex=ii;

g=1;

switch (UD->Position) {

case 0: Kol->Caption=KolPer[0];break;

case 1: Kol->Caption=KolPer[1];break;

case 2: Kol->Caption=KolPer[2];break;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SH3NextClick(TObject *Sender)

{

ii++;

PageControl1->ActivePageIndex=ii;

g=3;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SH4BackClick(TObject *Sender)

{

ii--;

PageControl1->ActivePageIndex=ii;

Panel5->Visible=false;

SH3Next->Visible=false;

g=2;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SH3BackClick(TObject *Sender)

{

if (g ==1 )

{

ii--;

PageControl1->ActivePageIndex=ii;

Panel2->Visible=true;

Panel3->Visible=false;

Panel4->Visible=false;

Panel5->Visible=false;

}

if (g == 2)

{

Panel3->Visible=true;

Panel4->Visible=false;

Panel5->Visible=false;

n=KolPer[UD->Position];

Per->Caption="X1 =";

s=0;

g=1;

}

if (g == 3)

{

Panel5->Visible=false;

SH3Next->Visible=false;

g=2;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Panel3->Visible=true;

n=KolPer[UD->Position];

Per->Caption="X1 =";

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

PeremenN[s]=StrToFloat(Edit4->Text); //нул.приб

InterN[s]=StrToFloat(Edit3->Text); //нач

InterK[s]=StrToFloat(Edit5->Text); //кон

s++;

Per->Caption="X"+ IntToStr(s+1)+"=";

g=2;

if (s == n)

{Panel4->Visible=true;g=2;}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Param[0]=StrToFloat(Edit6->Text); //коэ.шага

Param[1]=StrToFloat(Edit7->Text); // проб.шаг

Param[2]=StrToFloat(Edit8->Text); // погр.

if(CB1->Checked == true )

{Param[3]=StrToFloat(NT->Text); }

else

{Param[3]=-1;}

SH3Next->Visible=true;

Panel5->Visible=true;

g=3;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::PuskClick(TObject *Sender)

{

ss=0; //количество точек которых получилось

Diapozon=true;

Min();

if (Diapozon==false)

ss=ss-1;

SH4Back->Visible=true;

Panel6->Visible=true;

Series1->Clear();

for(int i = 0; i <ss; i++)

{

Series1->AddXY(i,Tochki[i][2],"",clBlue);

Nomer->Items->Add(i);

}

Nomer->Items->Add(ss);

//Nomer->Items->St

//ListT->Items->Add(123);

//if ( Diapozon=true )

//{ Itog->Caption="Точка минимума в указанном диапозоне "; }

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

void __fastcall TForm1::CB1Click(TObject *Sender)

{

if(CB1->Checked == true )

NT->Visible=true;

if(CB1->Checked == false )

NT->Visible=false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)

{

Panel6->Visible=false;

ListT->Items->Clear();

Nomer->Items->Clear();

Nomer->ItemIndex=-1;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::NomerChange(TObject *Sender)

{

int ind=Nomer->ItemIndex;

ListT->Items->Clear();

for (int i=0;i<n;i++)

ListT->Items->Add(Tochki[ind][i]);

ListT->Items->Add(Tochki[ind][2]);

if (ind == ss)

if( Diapozon==true)

{ ListT->Items->Add(" Минимум");}

else

{

ListT->Items->Add(" Минимум");

ListT->Items->Add("Следующая точка в");

ListT->Items->Add("диапозон не входит");

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Pr1Click(TObject *Sender)

{

if(Pr1->Checked == true )

DD=true;

if(Pr1->Checked == false )

{

DD=false;

MessageDlg("Вы отключили проверку диапозона точки,"

"убедитесь в этом",mtWarning,

TMsgDlgButtons() << mbOK , 0);

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::CB2Click(TObject *Sender)

{

if(CB2->Checked == true )

{

Panel7->Visible=true;

Series1->Active=false;

Series2->Clear();

Perem->Text="Xi";

Perem->Items->Clear();

CB3->ItemIndex=-1;

CB3->Items->Clear();

CB4->ItemIndex=-1;

CB4->Items->Clear();

for(int i = 0; i < n; i++)

Perem->Items->Add(i+1);

for(int i = 0; i <= ss; i++)

{

CB3->Items->Add(i);

}

}

if(CB2->Checked == false )

{

Series2->Clear();

Series2->Active=false;

Series1->Active=true;

Panel7->Visible=false;

CB4->Enabled=false;

CB3->Enabled=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::PeremChange(TObject *Sender)

{

int ind=Nomer->ItemIndex;

CB3->Enabled=true;

CB3->ItemIndex=0;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::CB3Change(TObject *Sender)

{

CB4->Items->Clear();

CB4->ItemIndex=-1;

int in=CB3->ItemIndex;

CB4->Enabled=true;

for(int i = in; i <=ss ; i++)

CB4->Items->Add(i);

CB4->ItemIndex=0;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::CB4Change(TObject *Sender)

{

Bild->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BildClick(TObject *Sender)

{

Series2->Clear();

ListP->Items->Clear();

int nh=CB3->ItemIndex;

int nk=CB4->ItemIndex;

Series2->Active=true;

for(int i = nh; i <=nk+nh; i++)

{

Series2->AddXY(i,Tochki[i][ind],"",clBlue);

ListP->Items->Add(Tochki[i][ind]);

}

Bild->Visible=false;

CB4->Enabled=false;

CB4->Items->Clear();

CB4->ItemIndex=-1;

}

//---------------------------------------------------------------------------

Приложение B

Исследование функции U=1*x1^3+2*x2^2-3*x1-4*x2 (изменением шага).

h=0,1; x1 =-0,5; x2=-1 ; x1нач=-2, x1кон=2, x2нач=-2, x2кон=2

x1

x2

R

0

-0,5

-1

7,375

1

-0,2750

-0,1999

1,6842

2

0,0023

0,2800

-0,9701

3

0,3023

0,5680

-2,5059

4

0,5749

0,7408

-3,4002

5

0,7757

0,8445

-3,8120

6

0,8952

0,9067

-3,9508

7

0,9548

0,9440

-3,9877

8

0,9813

0,9664

-3,9967

9

0,9924

0,9798

-3,9990

10

0,9969

0,9879

-3,9997

11

0,9988

0,9927

-3,9999

12

0,9995

0,9956

-4,0000

13

0,9998

0,9974

-4,0000

14

1,0000

0,9984

-4,0000

h=0,2; x1 =-0,5; x2=-1 ; x1нач=-2, x1кон=2, x2нач=-2, x2кон=2

x1

x2

R

0

-0,5

-1

7,375

1

0,0500

0,6000

-1,5301

2

0,5485

0,9200

-3,4676

3

0,9680

0,9840

-3,9964

4

1,0058

0,9968

-3,9999

5

0,9988

0,9994

-4,0000

h=0,3; x1 =-0,5; x2=-1 ; x1нач=-2, x1кон=2, x2нач=-2, x2кон=2

x1

x2

R

0

-0,5

-1

7,375

1

0,1750

1,4

-2,1996

2

1,0473

0,9200

-3,9804

3

0,9600

1,016

-3,9948

4

1,0305

0,9968

-3,9972

5

0,9747

0,0006

-3,9981

6

1,0196

0,9999

-3,9988

7

0,9839

1,0000

-3,9992

8

1,0126

1,0000

-3,9995

9

0,9898

1,0000

-3,9997

10

1,0081

1,0000

-39998

11

0,9935

1,0000

-3,9999

12

1,0052

1,0000

-3,9999

13

0,9958

1.0000

-3,9999

14

1,0033

1,0000

-4,0000

15

0,9973

1,0000

-4,0000

16

1,0021

1,0000

-4,0000

17

0,9983

1,0000

-4,0000

18

1,0013

1,0000

-4,0000


h=1; x1 =-0,5; x2=-1 ; x1нач=-2, x1кон=2, x2нач=-2, x2кон=2

x1

x2

R

0

-0,5

-1

7,375

1

0,6250

3

4,3692

2

1,5391

-1,0000

5,0283

3

0,5125

1

-3,4029

4

1,0655

1

-3,9869

5

0,9640

1

-3,9961

6

1,0170

1

-3,9991

7

0,9913

1,0000

-3,9998

8

1,0043

1

-3,9999

9

0,9978

1

-4,0000

10

1,0011

1

-4,0000



Скачать документ

Похожие документы:

  1. «Исследование и сопоставительный анализ численных методов решения задач не линейного программирования с ограничением типа неравенств»

    Исследование
    Современный этап развития человечества отличается тем, что на смену века энергетики приходит век информатики. Происходит интенсивное внедрение новых технологий во все сферы человеческой деятельности.
  2. Рабочая учебная программа по дисциплине «Методы оптимизации» Направление №230100 «Информатика и вычислительная техника»

    Рабочая учебная программа
    Математический анализ: дифференциальное исчисление; интегральное исчисление; теория обыкновенных дифференциальных уравнений; теория уравнений математической физики.
  3. А. Н. Туполева утверждаю: Проректор по учебной и методической работе И. К. Насыров 2007 г. Программа дисциплины (3)

    Программа дисциплины
    Дисциплина “Методы оптимизации” является математической основой решения различных проблем выбора одного из возможных образов действий, возникающих в любой области человеческой деятельности.
  4. «Прикладная математика и информатика»

    Документ
    1.1. Основная образовательная программа бакалавриата, реализуемая Техническим институтом (филиалом) федерального государственного автономного образовательного учреждения высшего профессионального образования «Северо-Восточный федеральный
  5. Образовательной программы по укрупненной группе 230000 Информатика и вычислительная техника по направлению 230100. 62 Информатика и вычислительная техника по профилю 230100. 62. 09 Технологии разработки программного обеспечения Красноярск 2011 г

    Документ
    Иностранный язык обеспечивает приобретение студентами знаний, умений и навыков в соответствии с государственным образовательным стандартом высшего профессионального образования (ГОС ВПО III)

Другие похожие документы..