Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Приклад програми

// Розв’язання задачі Діріхле для рівняння Лапласа методом сіток

#include <iostream>

#include <iomanip>

#include <conio.h>

#include <cmath>

using namespace std;

float fab(float x, float y)

{

return 45*y*(1-y); // AB

};

float fbc(float x, float y)

{

return 25*x; // BC

};

float fcd(float x, float y)

{

return 25; // CD

};

float fad(float x, float y)

{

return 25*x*sin(3.14*x/2); // AD

} ;

void main()

{

clrscr();

int p=0;

float e, x,y;

float h=0.2, u[6][6], k[6], U[6][6], du, m=-1;

do

{

clrscr();

cout<<"ZADACHA DIRIHLE:\n\n";

cout<<"UAB=20*y\n";

cout<<"UBC=20\n";

cout<<"UCD=20*y*y\n";

cout<<"UAD=50*x*(1-x)\n\n";

cout<<"0<=x<=1; 0<=y<=1\n\n";

cout<<"1)Rozvjazatu zadachy Dirihle\n";

cout<<"2)EXIT\n\n\n";

cout<<"Vash vubir (1, 2)\t";

cin>>p;

if(p==2)

{exit(1);}

clrscr();

if(p==1)

{

clrscr();

cout<<"Vvedit pohubky: e=";

cin>>e;

cout<<endl;

x=0; y=0;

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

{

u[i][5]=fbc(x,1);

u[i][0]=fad(x,0);

u[0][i]=fab(0,y);

u[5][i]=fcd(1,y);

x=x+h;

y=y+h;

}

k[1]=(u[5][1]-u[0][1])/5; cout<<"k[1]="<<k[1]<<endl;

k[2]=(u[5][2]-u[0][2])/5; cout<<"k[2]="<<k[2]<<endl;

k[3]=(u[5][3]-u[0][3])/5; cout<<"k[3]="<<k[3]<<endl;

k[4]=(u[5][4]-u[0][4])/5; cout<<"k[4]="<<k[4]<<endl;

for(int i=1; i<5; i++)

{

for(int j=1; j<5; j++)

{

u[j][i]=u[j-1][i]+k[i];

}

}

cout<<"\nNuljovyj shablon:\n\n";

for(int i=5; i>=0; i--)

{

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

{

U[j][i]=u[j][i];

cout<<setw(10)<<U[j][i];

}

cout<<endl;

}

do{

m=0;

for(int i=1; i<5; i++)

{

for(int j=1; j<5; j++)

{

u[j][i]=(U[j-1][i]+U[j+1][i]+U[j][i-1]+U[j][i+1])/4;

du=fabs(u[j][i]-U[j][i]);

U[j][i]=u[j][i];

if(du>m)

{ m=du; }

}

}

} while(m>e);

cout<<"\nVidpovid:\n\n";

for(int i=5; i>=0; i--)

{

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

{

cout<<setw(10)<<u[j][i];

}

cout<<"\n";

}

getch();

}

} while(p!=2);

}

Контрольні питання

1) Які рівняння називають рівняннями з частковими похідними?

2) Що називають розв’язком рівняння з частковими похідними?

3) Які задачі називають крайовими задачами?

4) Запишіть еліптичне рівнянням Лапласа.

5) Сформулюйте задачу Діріхле.

6) Назвіть відомі Вам методи розв’язання крайових задач для рівнянь з частковими похідними.

7) Наведіть алгоритм знаходження наближеного розв’язку задачі Діріхле для рівняння Лапласа методом сіток.

8) Яку таблицю називають нульовим шаблоном?

Лабораторна робота №6




Переглядів: 367

<== попередня сторінка | наступна сторінка ==>
Зразок виконання завдання | Тема: Оптимізація функцій

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.009 сек.