Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Текст задачи на Pascal





Program kraevaya_zadacha;

uses crt;

const x0 = 0; {начальная точка стержня}

dx = 0.1; {шаг разбиения стержня}

nx = trunc(0.6/dx); {количество разбиений }

t0 = 0; {начальный момент времени}

dt = 0.001; {шаг по времени –берётся из условия устойчивости }

T = 20; {количество промежутков времени}

 

var u0,u1:array [0..nx] of real;

x,t1:real;

i,j,i1:integer;

begin

clrscr;

{ ========================Вывод на экран строки значений х ================}

write (' ':7);

for i:=0 to nx do

begin

x:=x0+i*dx;

write('|',x:7:4);

end;

writeln;

writeln('---------------------------------------------------------------');

 

{========Вычисление в цикле значения температуры в начальный момент времени===}

 

for i:=0 to nx do

begin

x:=x0+i*dx;

u0[i]:=2*cos(x+0.55);

end;

for j:=0 to T do {открываем цикл по времени}

begin

t1:=t0+j*dt;

u1[nx]:= 0.817+2*t1; {Задаём правое граничное условие}

for i:=1 to nx-1 do

{=================Вычисление температуры на следующем слое}

U1[i]:=(dt*(U0[i+1]-2*U0[i]+U0[i-1]))/(dx*dx)+U0[i];

U1[0]:= U1[1]-dx*sin(t1); {вычисление левого граничного условия}

{=======================Вывод результатов на экран}

write(t1:7:4);

for i1:=0 to nx do

write ('|',u1[i1]:7:4);

writeln;

U0:=U1; {переприсваивание массивов}

End; {Закрытие цикла по времени}

end.

 

Решение в Excel:

 

На рисунке видно, что в ячейках C23-I23 содержаться точки стержня (от 0 до 0.6). В ячейках B2-B22 содержаться значения моментов времени. Тогда на пересечении строки и столбца находится соответствующие искомые значения.

В ячейку С22 вводим формулу =D22-SIN(B22)*0,1 затем растягиваем её вверх до С2 (из условия x=a = sin(t)). В ячейку D22 вводим =2*COS(D23+0,55) и растягиваем до ячейки H22 (из условия U(x,0)=2*cos(x+0.55)). Вводим в I22 формулу =0,817+2*B22 ( из условия U(0.6,t)=0.817+2*t ) и растягиваем вверх до I2. Затем в D21 вводим формулу =(0,001*(E22-2*D22+C22))/(0,1*0,1)+D22 (из условия ) и растягиваем от D21 вверх и вправо до H2. В результате мы получим значения для каждой точки в каждый момент времени.

Задания: сравните данные таблицы с результатами работы программы на Pascale.

Моделирование в среде MathCAD задачи «Хищники и жертвы».

Составим по данной математической модели программу на языке MathCAD (см. теорию), и определим колебания числа жертв и хищников, решив нелинейные дифференциальные уравнения:

Выбираем стандартную функцию ORIGIN

ORIGIN:=1

B:=4 {из данных}

{столбец неизвестных}

F(t,y):=

ORIGIN:=0

z:=Rkadapt(y,0,50,1001,F)

t:=z(0)

x:=z(1)

y:=z(2)

Строится график:

 

 

Date: 2015-07-17; view: 530; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию