Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Математикадан практикалық жұмыс

Автор:   •  Октябрь 6, 2022  •  Практическая работа  •  617 Слов (3 Страниц)  •  175 Просмотры

Страница 1 из 3

Талгатбекова Диана, 3-апта

Практикалық жұмыс, мөж, омөж

[pic 1]

[pic 2]

Бірөлшемді Жылуөткізгіштік теңдеуі:                                                              –ге , коэффициент a = 2-ге тең.[pic 3][pic 4][pic 5]

 [pic 6][pic 7]

Бастапқы шарттар:[pic 8]

Шекаралық шарт: [pic 9]

Есепті шешудің аналитикалық шешімін Штурм-Луивиль теңдеуін интегралдау арқылы шығарсақ:

Есептің аналитикалық шешімі

#include <iostream>

#include <fstream>

#include <math.h>

using namespace std;

int main()

{

        ofstream fout("analitik2.xls");

        int n=50;

        double pi=3.141592,dx=0.12,u[n],e=2.71828,dt = (dx*dx)/2;

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

    u[i]=31*sqrt(3)*pow(e,-2*pi*18*dt*188./6)*sqrt(1./3)*cos(pi*i*dx*18./6)+sqrt(3)*pow(e,-2*pi*24*dt*188./6)*sqrt(1./3)*cos(pi*i*dx*24./6);

    cout<< " "<<"u["<<i<<"] = " <<u[i]<<endl;

}

        return 0;

[pic 10]

Бірөлшемді Жылуөткізгіштік теңдеуі:                                                              –ге , коэффициент a = 2-ге тең.[pic 11][pic 12][pic 13]

 [pic 14][pic 15]

Бастапқы шарттар:[pic 16]

Шекаралық шарт: [pic 17]

Есепті шешудің сандық әдісін қуалау әдісі арқылы шығарсақ:

Есептің сандық шешімі

#include <iostream>

#include <fstream>

#include <cmath>

using namespace std;

int main() {

int N =50,alf=2;

double dx = 0.12, dt = (dx*dx)/2,maximum=0,k=0;

double a = -alf/ (dx * dx), c = a, b = 1/dt+2*alf/ (dx * dx), pi=3.141592,eps=0.000005;

double a1[N] , b1[N], u[N], un[N],d[N],F[N];

ofstream fout("sandyk2.xls");

for(int i = 0; i <= N; i++) {

un[i] = 31*cos(3*pi*dx*i)+cos(4*pi*dx*i);

}

do

{

        maximum=0;

u[1]=u[0];

u[N]=u[N-1];

un[1]=un[0];

un[N]=un[N-1];

a1[1] = 1;

b1[1] = 0;

for(int i = 2; i <= N-1; i++) {

d[i]=un[i]/dt;

a1[i] = -a/(b+c*a1[i-1]);

b1[i] = (d[i]-c*b1[i-1])/(b+c*a1[i-1]);

}

for(int i = N-1; i > 0; i--) {

u[i] = a1[i+1] * u[i+1] + b1[i+1];}//keri kualau

for(int i=1;i<N;i++){

F[i]=abs(un[i]-u[i]);

}

for (int i=1;i<N;i++){

if(maximum<F[i]){

maximum = F[i];

}

}

k=k+1;

for(int i =0; i <= N; i++) {

un[i]=u[i];

}

cout<<maximum<<endl;

}

while (maximum>eps);

for(int i = 0; i <= N; i++) {

fout<<u[i]<<endl;

}

cout<<k<<endl;

cout<<endl;

return 0;

...

Скачать:   txt (6 Kb)   pdf (1.3 Mb)   docx (1.6 Mb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club