Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт з практики 2012 комп.doc
Скачиваний:
1
Добавлен:
07.11.2019
Размер:
3.35 Mб
Скачать

Міністерство освіти і науки, молоді та спорту України

Національний університет водного господарства та природокористування

Кафедра автоматизації та комп’ютерно- інтегрованих технологій

З в і т

з навчальної практики:

«комп’ютерне моделювання»

Варіант № 50

Виконав:

Студент 2 курсу

Групи АУТП – 23

Самолюк М.В.

Перевірила:

Стеценко А.М.

Шифр: 301550

Рівне – 2012

Завдання 1

Методи розв'язку алгебраїчних та диференціальних рівнянь та їх систем.

1. Знайти корені або формули коренів для обчислення алгебраїчних (приведених в табл. 1) та диференціальних (приведених в табл. 2) рівнянь та їх систем з допомогою засобів середовища MatLab та аналітично.

2. Порівняти результати, отримані аналітично і за допомогою засобів MatLab та зробити відповідні висновки.

Завдання 1.1.

( Нелінійні алгебраїчні рівняння.)

розв’язати такими способами:

а) аналітично,

Зробити перевірку отриманих результатів

Отримані результати записати у таблиці, зробити висновки.

Рівняння

25

50

75

00

Розв’язок аналітично:

, де а- певний параметр.

В Matlab:

>> a=[1 0 0 0];

>> kor=roots(a)

kor =

0

0

0

Знайдемо з допомогою команди solve формули для коренів квадратного рівняння.

Для цього в середовищі MatLab наберемо команду:

>> [x]=solve('(5*a-b*x-x)^1/3')

x =

5*a/(b+1)

Аналітично

З допомогою Matlab

5*a/(b+1)

5*a/(b+1)

Висновок: На прикладі даного завдання, я повторив обчислення алгебраїчних рівнянь з допомогою MatLab, а також згадав їх обчислення з курсу вищої математики, як аналітично розв’язуються алгебраїчні рівняння. Отримані розв’язки алгебраїчного рівняння, зробленого двома способами.

Завдання 1.2.

Остання цифра шифру 0. Заземлювач, виготовлений у вигляді гратки прямокутної форми із металічних труб, розміщений горизонтально в грунті на глибині h. Опір заземлювача розраховується по формулі:

де π = 3,14..., L = 6l - сумарна довжина труб, r - радиус труб, h – глибина, G – питома електропровідність грунту. Задавшись параметрами r=0,01м, h (із таблиці), визначітьте розмір l, що відповідає необхідному опору R.

Параметр

Останні цифри шифру

00

10

20

30

40

50

60

70

80

90

G, 1/Ом⋅м

0,02

0,015

0,01

0,025

0,02

0,025

0,01

0,02

0,015

0,01

r, м

0,025

0,015

0,035

0,03

0,01

0,03

0,02

0,035

0,045

0,032

h, м

1

1,2

0,8

1,5

1,5

1,2

0,6

0,5

1,6

0,8

R, Oм

15

12

16

9

12

8

4

3,6

3,2

3


Розв’язок в MatLab:

>> [l]=solve('log((6*l)^2/2*0.03*1.2)+4.95/2*3.14*6*l*0.025')

l =

[ -.92930956563713540690174073961565+1.9224337550274670374285951641778*i]

[ .78578486128572187886036877841279]

>> [l]=solve('(log((6*l)^2/2*0.03*1.2)+4.95/2*3.14*6*l*0.025)-8')

l =

4.6121361022300100386443137300458

>> l=4.612;

>> i=solve('(log((6*l)^2/2*0.03*1.2)+4.95/2*3.14*6*l*0.025)')

i =

[ -.92930956563713540690174073961565+1.9224337550274670374285951641778*i]

[ .78578486128572187886036877841279]

>> i=(log((6*l)^2/2*0.03*1.2)+4.95/2*3.14*6*l*0.025)

i =

7.9998

>>

Висновок: На прикладі даного завдання, я навчився обчислювати алгебраїчні рівняння для знаходження фізичних величин з допомогою функції solve в MatLab . Отриманий діаметр знаходиться в розумних межах.

Завдання 1.3.

Система рівнянь

10

Завдання 1.3. розв’язати такими способами:

а) аналітично (методом Гауса чи Крамера в EXCEL),

б) з допомогою функції solve Matlab,

в) командним способом в Matlab.

Зробити перевірку отриманих результатів

Отримані результати записати у таблиці, зробити висновки.

Матриця А

 

Матриця В

12,4

-0,56

4,2

6,3

-0,65

4,4

1,5

1,5

1,5

2,1

-2,8

1,7

 

 

Обернена А-1

Розв'язок

0,85

-0,01

-0,51

4,89

-0,19

0,16

0,18

-0,51

-0,10

0,03

0,22

 

-0,62

Excel(Метод Крамера):

Матриця

Вільні члени

delta=

-225,5

12,40

-0,56

4,2

6,3

-0,65

4,4

1,5

1,5

1,5

2,1

-2,80

1,70

Матриця 1

 

delta x1=

-119,4

6,3

-0,56

4,2

 

1,5

4,4

1,5

 

1,70

2,1

-2,80

 

Матриця 2

 

delta x2=

-95,08

12,40

6,3

4,2

 

-0,65

1,5

1,5

 

1,5

1,70

-2,80

 

Матриця 3

 

delta x3=

1,6337

12,40

-0,56

6,3

 

-0,65

4,4

1,5

 

1,5

2,1

1,70

 

x1=

0,5296

x2=

0,4216

x3=

-0,007

З допомогою функції solve Matlab:

>> [x1,x2,x3]=solve('12.4*x1-0.56*x2+4.2*x3=6.3, -0.65*x1+4.4*x2+1.5*x3=1.5, 1.5*x1+2.1*x2-2.8*x3=1.7')

x1 =

.52955856152265545947221066876905

x2 =

.42160890876181371379618289673105

x3 =

-.72440890415028613641785406111516e-2

>> y1=12.4*x1-0.56*x2+4.2*x3

y1 =

6.3000000000000000000000000000000

>> y2=-0.65*x1+4.4*x2+1.5*x3

y2 =

1.5000000000000000000000000000000

>> y3=1.5*x1+2.1*x2-2.8*x3

y3 =

1.7000000000000000000000000000000

Командним способом в Matlab:

>> f0=[5.1;4.2;-1.2];

>> f1=[1.5;1.2;0.5];

>> f2=[-0.8;7.18;-1.5];

>> f3=[4.25;-3.2;7.1];

>> F=[f1 f2 f3]

F =

1.5000 -0.8000 4.2500

1.2000 7.1800 -3.2000

0.5000 -1.5000 7.1000

>> d=det(F)

d = 54.4555

>> F1=[f0 f2 f3]

F1 =

5.1000 -0.8000 4.2500

4.2000 7.1800 -3.2000

-1.2000 -1.5000 7.1000

>> d1=det(F1)

d1 = 266.1348

>> F2=[f1 f0 f3]

F2 =

1.5000 5.1000 4.2500

1.2000 4.2000 -3.2000

0.5000 -1.2000 7.1000

>> F3=[f1 f2 f0]

F3 =

1.5000 -0.8000 5.1000

1.2000 7.1800 4.2000

0.5000 -1.5000 -1.2000

>> d2=det(F2)

d2 = -27.6870

>> d3=det(F3)

d3 = -33.7950

>> x1=d1/d

x1 =

4.8872

>> x2=d2/d

x2 =

-0.5084

>> x3=d3/d

x3 =

-0.6206

Аналітичне виконання за допомогою методу Крамера

Виконання з допомогою засобів середовища MatLab, команда solve

Виконання з допомогою засобів середовища MatLab командним способом

Х1

0,5296

0,5296

0,5296

Х2

0,4216

0,4216

0,4216

Х3

-0,007

-0,007

-0,007

Висновок: На прикладі даного завдання, я обчислював системи диференціальних рівняння з допомогою Matlab, а також згадав з курсу вищої математики, як аналітично розв’язуються системи диференціальних рівняння методом Крамара. Отримані розв’язки системи диференціальних рівняння, зробленого трьома способами співпали, отже можна зробити висновок, що дана система розв’язана правильно.

Завдання 1.4.

Варіанти завдань. Побудувати графік і вивести у вигляді таблиці розв’язок задачі Коші на інтервалі [0; 1] методом Рунге-Кутта 4-го порядку. Дані взяти з таблиці 2.

Таблиця 2

№ п/п

f(x,y)

уо

20.

0.2

Розв’язок:

М-Файл оформляється :

function dydx=F(x,y)

dydx=zeros(1,1);

dydx(1)=sin(y)+x*y;

end

Чисельний розв’язок задачі Коші:

>> [X Y] = ode45( @F, [0 1] , [0.2] );

>> plot(X,Y);

>> hold on; gtext ('y(x)')

>> [X Y]

ans =

0 0.2000

0.0250 0.2051

0.0500 0.2104

0.0750 0.2161

0.1000 0.2220

0.1250 0.2282

0.1500 0.2347

0.1750 0.2416

0.2000 0.2488

0.2250 0.2564

0.2500 0.2644

0.2750 0.2728

0.3000 0.2816

0.3250 0.2909

0.3500 0.3007

0.3750 0.3110

0.4000 0.3218

0.4250 0.3332

0.4500 0.3453

0.4750 0.3579

0.5000 0.3713

0.5250 0.3854

0.5500 0.4002

0.5750 0.4159

0.6000 0.4324

0.6250 0.4498

0.6500 0.4682

0.6750 0.4876

0.7000 0.5081

0.7250 0.5298

0.7500 0.5526

0.7750 0.5768

0.8000 0.6023

0.8250 0.6292

0.8500 0.6577

0.8750 0.6877

0.9000 0.7195

0.9250 0.7531

0.9500 0.7886

0.9750 0.8261

1.0000 0.8656

Побудова графіка чисельного рішення задачі Коші:

Висновок: На прикладі даного завдання, я обчислював диференціальні рівняння з допомогою Matlab.

Завдання 1.5.

Завдання 6. Генератор, виконаний на тунельному діоді, містить послідовний електричний LC-контур і джерело постійної напруги Е. Колебания напруга u{t) і струму i(i) в генераторі описуються системою диференціальних рівнянь

де t - час, L і C - індуктивність котушки і ємність конденсатора контура, R0= Re + RL , Re - внутрішній опір джерела живлення, RL - опір обмотки котушки індуктивності.

N-подібна вольт-амперна характеристика тунельного діода іД(u) описується формулою

Розрахуйте і побудуйте графіки залежностей u(t) і i(t). Початкові умови u(t = 0)= 0, i(t = 0)= 0. Параметри Е, R0, L,C подані в таблиці.

Параметри

Варіанти

45

46

47

48

49

50

51

52

53

Е,В

0,27

0,33

0,3

0,22

0,18

0,36

0,19

0,25

0,24

R0, Ом

7

5

4,2

3,5

4,8

11,3

5,2

6

10

L, нГн

20

300

7·103

1,5·104

10

17

200

104

100

C, пФ

12

150

2200

130

12

27

120

1000

360

Розв’язок в MatLab:

E=0.36;

R0=11.3;

L=17;

C=27;

i(1)=0; u(1)=0;

id(1)=(0.6*u(1)-14*u(1)^3+20*u(1)^4)*exp(-10*u(1))+0.02*(exp(u(1))-1);

dt=0.1;

t(1)=0;

t=0:dt:0.4;

for k=2:1:length(t)

u(k)=(i(k-1)-id(k-1))*dt/C;

i(k)=dt*(E-i(k-1)*R0-u(k-1))/L;

id(k)=(0.6*u(k)-14

*u(k)^3+20*u(k)^4)*exp(-10*u(k))+0.02*(exp(u(k))-1);

end;

plot(t,i);

Висновок: Виконуючи дане завдання, ми промоделювали проходження електричних сигналів, розрахували і побудували графік залежності i(t). Графіком вийшла сума двох експонент.

Завдання №2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]