informatyka w mechatronice - opracowanie

83
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego INFORMATYKA W MECHATRONICE Opracował: Grzegorz Banaszek GDAŃSK 2012

Upload: lamnga

Post on 11-Jan-2017

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

INFORMATYKA W MECHATRONICE

Opracował: Grzegorz Banaszek

GDAŃSK 2012

Page 2: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

SPIS TREŚCI

I. PODSTAWOWE WIADOMOŚCI Z MATLABA 3

II. ZASTOSOWANIA 34

WYTRZYMAŁOŚĆ MATERIAŁÓW 34

ELEKTROTECHNIKA 38

CAŁKOWANIE 45

KINEMATYKA 49

III. DYNAMIKA UKŁADÓW WIELOMASOWYCH.

METODA NEWMARKA CAŁKOWANIA RÓWNAŃ

RUCHU 53

IV. ALGORYTMY SORTOWANIA 61

V. PAKIET MATLAB I SIMULINK W AUTOMATYCE I

STEROWANIU 65

VI. ZASTOSOWANIE PROGRAMU MATHCAD

Wyznaczenie zarysu teoretycznego wałka 79

VII. BIBLIOGRAFIA 83

Page 3: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

I. PODSTAWOWE WIADOMOŚCI Z MATLABA

1. Funkcja „demo”.

demo (

2. Okna użytkowe:

Command Window

Command History

Current Directowy

Workspace

Help

3. Czyszczenie ekranu komend.

clc (

4. Wprowadzanie macierzy.

w Matlabie

a=[1_2;3_4]

b=[7;8;9]

Oddzielanie elementów w wierszu odbywa się za pomocą spacji lub przecinka.

5. Instrukcja przypisania.

zmienna= wartość_lub_wyrażenie , np.

z=3.78

j13=2^2+8*3-7

6. Użycie średnika.

Gdy na końcu wyrażenia matematycznego znajduje się [;]=> wynik nie jest

wyświetlany!!

Gdy nie ma [;]=> wynik pojawia się.

d=a+c; (

d=a+c (

7. Odwołanie do elementów macierzy.

Ola=[1,2,3;4,5,6;7,8,9]

Ola(1,2) ( ← wyświetla jeden wyraz macierzy

Page 4: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Ola(:,3) ( ← wyświetlą cała kolumnę

Ola(2,:) ( ← wyświetla cały wiersz

Ola(1:2;1:2) ( ← wyświetla podmacierz

8. Informacje o zmiennych.

who (

whos (

9. Użyteczne skróty i oznaczenia.

NaN- Not a Number

inf- infinity (∞)

ans- answer

10. Przywołanie ostatnich komend.

klawisz kursora w górę i w dół

11. Operatory matematyczne.

2-3+4*8^3 (

4/8 (

4\8 (

12. Liczby zespolone.

i=sqrt(-1)

j=sqrt(-1)

z1=3+i*5

z2=8-7.5*i

13. Format i precyzja wyświetlanych wyników.

long, long e

short, short e

format ___ hex

rat

rank

pi (

format long (

pi (

format long e (

+

^ /,\

\ * - +

Page 5: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

pi (

format rat (

8/7 ( ← nie podzieli (zostawi ułamek)

format hex (

pi/3 ( ← zapisane w postaci cyfr i pierwszych liter alfabetu

format short ( ← powrót

14. Pomoc!!

help instrukcja ,np.

help plot (

help format (

help roots (

15. Zapamiętanie zmiennych.

save all ( ← zapamiętuje wszystko

save zm1 zm2 zm3 (

save a b c ( ← zapisane w pliku matlab.mat

save nazwa_pliku ← ASCII- zapisanie pliku jako tekstowego

16. Przywołanie (wczytanie).

load (

load nazwa_pliku (

help load (

17. Kasowanie zmiennych.

clear zmienna1 zmienna2 (

clear all ( ← wszystkie zmienne

18. Komentarze.

% dowolny ciąg znaków

%DANE

.

.

.

%WYKRESY

plot(x,y) %rysowanie wykresu

19. Zmienne łańcuchowe, tzw. „stringi”.

nazwa zmiennej= ’dowolny ciąg znaków’

z1=’kotek’

z2=’KASIA’

z3=’Kocham pana X’

z4=’#$%^&*’

Page 6: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

z1/12 (

ans*12 (

20. Operacje macierzowe i tablicowe.

macierzowe (matrix) tablicowe (array)

+ +

- -

* .*

/ ./

\ .\

^ .^

W Matlabie

a=[1,1;1,1] (

b=[2,2;2,2] (

a*b

a.*b

wg rachunku

macierzowego (tak

jak w matematyce)

operacje ‘element

przez element’

Page 7: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

21. Operacje logiczne („Boole’eanowskie”).

Matematyka Matlab

> >

< <

≥ >=

≤ <=

= = =

≠ ~=

and &

or |

k=4

m=3

k>m (

k= =m (

k=m (

22. Operacje DOS-owskie, dyskowe.

dir (

type… (

delete…(

cd (

23. Macierze predefiniowane.

ones() ← macierz jedynek

eye() ← macierz jednostkowa

rand() ← macierz liczb losowych

zero() ← macierz złożona z samych zer

np.

ones(8,7) (

ones(5) (

eye(7) (

rand(3,4) (

zeros(5,4) (

24.* Wybór wierszy i kolumn oraz podmacierzy (bloków).

Page 8: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

z=x

x

x

x

x

x

x

x x x x

x x x x

x x x x

x x x

x x x

x x

x

x x

x x

x x

x x x x x

x

x

x

x

x x x x x

kol3=z(3,:)

wiersz5=z(:,5)

blok=z(3:6,2:4)

24.** Zmienne zakresowe- generowanie wektorów wierszowych i kolumnowych.

zmienna=wartość1:krok_przyrostowy:wartość2

lub, gdy przyrost=1

zmienna=wartość1:wartość2

x=-1:0.3:1 (

y=1:10 (

25. Niektóre funkcje standardowe.

asin()

acos()

atan()

sinh()

cosh()

abs()= | | → wartość bezwzględna

log()≡ln() !!!

log10≡

sqrt => pierwiastek kwadratowy

exp≡

round() → zaokrąglenie

floor() → zaokrąglenie w dół

ceil() → zaokrąglenie w górę

fix() → zaokrąglenie w kierunku zera

26. Grafika- podstawowe wykresy.

plot()

plot3()

mesh()

surf()

contour()

polar() ← wykres okrągły

stairs() ← wykres schodkowy

Page 9: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

semilogx()

semilogy()

bar() ← wykres słupkowy

bar3() ← wykres słupkowy trójwymiarowy

27. Opisy wykresów i inne funkcje.

title(x)

xlabel()

ylabel()

zlabel()

axis() ← skalowanie osi

grid ← naniesienie siatki

text()

gtext()

clf

28. Kilka wykresów na jednym ekranie.

subplot(i,j,k)

gdzie:

i- ilość wierszy

j- ilość kolumn

k- numer aktualnego wykresu

Page 10: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

29. Przykład grafiki.

Page 11: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

30. Zmiana bieżącego katalogu (napędu roboczego)

31. Pisanie skryptu programu w edytorze.

File → New → M-File

ikona - otwarcie nowego pliku w edytorze

32. Przykładowy program.

33. Uruchomienie (wykonanie programu).

wpisać wybrać zmienić

Page 12: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

2. W edytorze nacisnąć ikonę

‘save and run’

1. w okienku komend wpisać

nazwa(

zapamiętać w bieżącym oknie

34. Nazwa pliku matlabowego.

bez znaków zastrzeżonych ({#$%^&*)

nie może rozpoczynać się od cyfr i nie może być liczbą ‼ 1ala.m

nie powinna być taka sama jak funkcje i predefiniowane zmienne

w Matlabie

35. Zapamiętanie.

File → save →

File → save as →

- ikona save

36. Rozwiązywanie układów równań liniowych.

* =

W edytorze‼

37. Zastosowanie w statyce i wytrzymałości.

nazwa

nazwa

Page 13: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

1cos( 3 0

2

sin( ) 0

1 1sin( ) 3 3 4 0

2 3

x ax

y ay b

ia b

P R P q l

P R R P

M P L M q L L R L

1cos( 3

1 0 0 3

0 1 1 sin(

0 0 4 1 1sin( 3 3

2 3

ax

ay

b

P q LR

R P

L RP L M q L L

W edytorze‼

38. Wyprowadzenie tekstu na ekran.

disp(‘dowolny ciąg znaków’)

np.

disp(‘podaj a= ’)

W edytorze

Page 14: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

39. Wprowadzanie danych z klawiatury.

zmienna=input('ewentualny tekst') z1=input('podaj z1') Ola=input('podaj zmienną "Ola"') Napisać program obliczający pierwiastki trójmianu. Wprowadź, b, c z klawiatury. Wyniki wyprowadź na ekran. W edytorze‼

40. Wielomiany

a) pierwiastki- roots (współczynniki) ← wektor wierszowy

wsp=[2.7_-3.4_0_1_-2]

lub

pierw=roots(wsp)

pierw=roots([2.7_-3.4_0_1_-2])

b) wyznaczanie wielomianu (jego współczynników) na podstawie pierwiastków

poly(pierw,0)

wsp1=poly(pierwiastki,0)

wsp2=wsp1*2.7

Page 15: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

c) wyznaczenie wartości wielomianu w wyznaczonym punkcie

polyval(wsp,punkt)

polyval(wsp,0)

d) pochodna z wielomianu

pochodna=polyder(wsp)

e) mnożenie wielomianów

conv(wsp1,wsp2)

(

wsp1=[1,0,1,1]

wsp2=[1,-3]

iloczyn=conv(wsp1,wsp2)

f) dzielenie wielomianów

denconv(wsp1,wsp2)=iloraz

41. Pisanie złożonych wyrażeń matematycznych.

x=3

z=4

a=7

b=5

c=8

42. Dla punktu M mechanizmu okresu narysować.

a. równanie ruchu

b. tor ruchu

c. prędkość i jej składowe

d. promień krzywizny toru

Wykresy umieścić na jednym ekranie

1. Równania ruchu

Page 16: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

1( ) cos( )

3

1 7( ) ( )sin( ) sin( )

3 3

,

0

m

m

m

x t r

y t r r r r

t

const

z

2. Prędkości

2 2

1 1sin( ) sin( )

3 3

7cos( )

3

x

y

x y

dx dv x r r

dt dt

dyv y r

dt

v v v

3. promień krzywizny toru 2 2

2 2 2 2 2

2 2( )2 2

n

n

n t n t

x y y x x y yxt x y

v va

a

a a a a a a

d v v dv v a v advdva v v

dt dt dt dt v

4. przyśpieszenia

2

2

2 2

1cos( )

3

7sin( )

3

x x

y y

x y

a x v r

a y v r

a a a

W oknie edytora:

Page 17: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Page 18: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

43. Tworzenie menu przyciskowego.

z=menu(‘tytuł’,’przycisk1’,’przycisk2’…’przycisk n-ty’)

z=1 z=2

Page 19: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

44. Pętle- instrukcje powtórzeniowe

for- stosowana jest, gdy z góry znamy liczbę powtórzeń, bezwarunkowo

while- stosowana jest, gdy znamy lub nie znamy liczby powtórzeń

Pętla warunkowa wykonywana jest, gdy spełniony jest warunek.

45. Przykład: oblicz sumę

for while

Page 20: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

pełna wersja

if warunek1

instrukcja

.

.

elseif

instrukcja2

.

.

else

instrukcja3

.

.

end

46. Napisz program obliczający silnię z „n” dla obu pętli.

47. Instrukcja warunkowa „if”.

okrojona wersja

if warunek

instrukcja

.

.

end

Page 21: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

48. Korzystając z instrukcji „if” określ rodzaj pierwiastków trójmianu

49. Zapisać w Matlabie wyrażenie

Page 22: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

50. Rozmiar i długość wektora macierzy

size(macierz)

length(wektor)

x=-pi/3:pi/18:3*pi; (

n=length(x) (

A=rand(17,180); (

rozmiar_macierzy=size(A) (

51. Do belki przedstawionej na rysunku wykonać wykresy Mg i T oraz wyznaczyć

bezpieczną wartość średnicy d z warunku bezpieczeństwa wg hipotezy Hubera.

1 2

1 2

13 2 2 0 ?

2

1 23 2 3 (2 3 ) 0 ?

2 3

13 0

2

a b b

b a a

y a b

M PL M M q L L R L R

M P L M M R L q L L L R

P R R P q L

3

1

3

1 2

(0; )

1( ) ( ) ( ) ( ;3 )

6 31

( ) ( ) ( 3 ) (3 ;4 )6 3

a

a b

Px x L

qMg x Px M R x l x l x L L

Lq

Px M R x l x l R x L M x L LL

2

2

3( ) ( )

6 33

( )6 3

a

a b

P

qT x P R x l

Lq

P R R x lL

0

2 2

0

2

6 3

g s

xx

red dop

M M

W WW

g

L=1,2m

q=1,4kN

wsp_bez=2.5

Redop

x

Re=360MPa

stal45

Page 23: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

332

Re

redM xd

52. Powtórzenie do kolokwium

I. Co oznaczają symbole i wyrażenia:

ans

abs()

eye()

:

;

[ ]

II. Napisz program wyznaczający reakcje ramy.

III. Wyznacz wszystkie pierwiastki wielomianu.

5 33 2 16,7 0x x x

IV. Korzystając z pętli „while” oblicz: 1

923

28

1

3

i

i

ii

i

V. Na jednym wykresie narysować dwie funkcje:

0,7

0,4

( ) 10 sin( )

( ) 13 | sin( ) | cos( )2

x

t

y x e x

ty t e t

0,5

0,6

dla x

dla t

3

4

co

co

nanieść siatkę

umieścić tytuł

podpisać obie osie x i y

y(x) → kolor zielony, symbol - ‘o’

y(t) → kolor czarny, symbol - ‘x’

VI. Korzystając z pętli „for” utworzyć macierz H o elementach: H(i,j)=i+j, gdzie:

i- numer wiersza

j- numer kolumny

wymiar macierzy:8x10

VII. Wprowadzić macierz w Matlabie

Page 24: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

232

3 17

3 | 7 |log8 | 1|

( 2) 0,38

1ln 0, 43 10

(sin )

x xx

x xA

abx

tg x x cde

VIII. Na jednym ekranie umieścić 3 wykresy

1- słupkowy wykres sin(x), -5≤ x ≤5, co 0,5

2- y x , oś y logarytmiczna

3- 3| 1|y x

IX. Napisać polecenie wyświetlania wyników w formacie „długim” (z kilkunastoma

miejscami po przecinku).

X. Utworzyć macierz losową LOS o wymiarach 10x15. Następnie wybrać z macierzy

kolumnę 7, wiersz 8, blok od 4 do 7 wiersza i od 3 do 5 kolumny.

XI. Korzystając z instrukcji „if” zapisać w Matlabie

Krok co 1

115.

Narysować f(x).

XII. Utwórz menu użytkownika o postaci:

Naciśnij

opcja 1

opcja 2

opcja 3

koniec

XIII. Rozwiąż macierzowy układ równań

7,3

3 0

7,35 18,75

x y z

x y

y z

Page 25: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

53. Podział odcinka (przedziału) na n jednakowych części

linspace(p,k,n) , gdzie p- początek

k- koniec

n- ilość odcinków

długość przedziału =1

k p

n

x=linspace(2,105,5) (

y=linspace(-3,20,7) (

54. Podział odcinka wg skali logarytmicznej

logspace(p,k,n)

omega=logspace(0,10000,10) (

55. Wyznaczenie częstości i postaci drgań nietłumionych i tłumionych

I. Drgania nietłumione 2, ( , )postać eig K M , gdzie:

postać- wektor postaci drgań 2- kwadrat częstości własnej

K- macierz sztywności

M- macierz bezwładności

2

II. Drgania tłumione

0Mq Cq Kq

[ , ] ( )q eig A

1 1

0 I

A

M K M C

56. Wyznacz postacie i częstości drgań własnych układu

Page 26: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

1

2

3

0 0

0 0

0 0

m

M m

m

1 2 3 5 6 2 3 5

2 3 2 3 4 4

5 4 4 5

k k k k k k k k

K k k k k k k

k k k k

W edytorze

57. Drgania tłumione

Page 27: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

0 0

0 4 0

0 0 2

m

M m

m

0 0

0 2 2

0 2 2

k

K k k

k k

3 3 0

3 3 0

0 0 2

c c c

C c c

c

1 1

A

M K M C

, gdzie: Ф- zerowy blok

I- blok macierzy jednostkowej

W edytorze‼

58. Wyznaczyć przyśpieszenia liniowe, kątowe, siły i reakcje układu linowego krążkowo-

blokowego

r=0,3m

m=2kg

Page 28: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

μ=0,1

h=3m

R=1m

210

mg

s

2

10 0

0

0

2

0

0

a th s s v t

s

v

max

1

2ht

a

max 0 1 max max 1 max v v a t v a t

1 1

12

33

3 2

2

1

8 8

0

0

x

y g

ma mg S

a

R

a

R

ma S T

T N

N mg

R S

R M S

1

2

0 2

1

2

8 0 0 1 0 0 0 0 0

0 0 0 1 1 0 0 0

0 0 0 0 0 0

0 0 0 0 0 1 0 0

0 0 0 0 0 0 1 0 0

0 0 0 0 1 0 0 1 0

0 0 0 1 0 0 0 0 1

10 1 0 0 0 0 0 0

10 1 0 0 0 0 0 0

x

y

m a

m a

J R r

S

S

T

N

RR

Rr

8

0

0

0

0

0

0

g

mg

mg

M

Page 29: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

W edytorze‼

59. Pisanie funkcji (podprogramów).

60. Napisz funkcję, która oblicza pole prostokąta. Wprowadzone parametry to a i b.

Page 30: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

W edytorze‼

Wywołanie funkcji:

pole1=pole_prost(10,8) (

pole2=pole_prost(-7,6) (

help pole_prost (

61. Instrukcja „switch” (przełącznikowa)

switch (zmienna)

case wartość_1

instrukcja_1

case wartość_2

instrukcja_2

case wartość_n

instrukcja_n

otherwise

instrukcja

end

62. Napisz program przydzielający ocenę z kolokwium na podstawie otrzymanych

punktów

0-5 - ndst

5.5, 6- dst

6.5 – dst+

7,7.5 – db

8,8.5 – db+

9,9.5 – bdb

10 – celujący

Page 31: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Wywołanie

ocena(10) (

ocena(7.5) (

ocena(1.5) (

help ocena (

63. Rozwiązywanie równań różniczkowych

k p

0

plik z równaniem t -t opisującym

muszą być

ode45( 'równanie' , zakres_t , X , opcje)

wartośćpoczątkowa

( 2 ) ( ) cos( )

3cos( )

my by k k y F t t t

b k ty y y t

m m m

W edytorze‼

Page 32: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

odrębny plik do definicji równania różniczkowego:

64. Aproksymacja

a) wielomianowa

polyfit(x,y,n)

Przybliżyć wielomianem zależność wzniosu popychacza krzywki mechanizmu

rozrządu w funkcji kąta obrotu wała rozrządu

Page 33: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

65. Interpolacja

'linear'

interp1(x,y,xi, 'spline' jednowymiarowa

'cubic'

interp2() dwuwymiarowa

interp3() trójwymiarowa

W edytorze‼

66. Napisać funkcję obliczającą dwumian Newtona, która przywołuje funkcję obliczającą

silnię.

Page 34: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

!

!( )!

nn

k n kk

Funkcja obliczająca silnię:

Funkcja obliczająca dwumian Newtona:

Page 35: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

II ZASTOSOWANIA

Wytrzymałość materiałów

Kratownica

Stosując metodę równoważenia węzłów wyznaczyć reakcje i siły w prętach kratownicy

przedstawionej na rysunku. Następnie z warunku bezpieczeństwa na rozciąganie/ściskanie,

wyznaczyć bezpieczne wartości średnic prętów i obliczyć odkształcenia poszczególnych

prętów. Dane do zadania: Re=320 MPa, E=2.1e11 MPa, L=1.3 m, n=2.5 (wsp.

bezpieczeństwa), P=10 kN.

B

2L 2L

L

1

2 34

5

2P

P

R ax

R ay

R b

Równania równowagi:

1 Ax 2

Ay 2

1 4

4 3

2 5

2 3

5 4

4 B

S R S cos( ) 0

R S sin( ) 0

S 2P S cos( ) 0

S sin( ) S 0

S cos( ) S 0

S sin( ) S P 0

S S cos( ) 0

S sin( ) R 0

Zapis macierzowy:

1

2

3

4

5

Ax

Ay

B

S1 cos( ) 0 0 0 1 0 0 0

S0 sin( ) 0 0 0 0 1 0 0

S1 0 0 cos( ) 0 0 0 0 2 P

S0 0 1 sin( ) 0 0 0 0 0

S0 cos( ) 0 0 1 0 0 0 0

R0 sin( ) 1 0 0 0 0 0 P

R0 0 0 cos( ) 1 0 0 0 0

R0 0 0 sin( ) 0 0 0 1 0

Page 36: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Realizacja algorytmu w Matlabie:

Program kratownica.m

%Program oblicza wytrzymałość prętów kratownicy clear all; clc; P=10000; L1=1.3; E=2.1*10^11; Re=320*10^6; n=2.5; alfa=atan(L1/(2*L1)); format %Macierz wspołczynników A=[1,cos(alfa),0,0,0,1,0,0; 0,-sin(alfa),0,0,0,0,1,0; -1,0,0,cos(alfa),0,0,0,0; 0,0,-1,-sin(alfa),0,0,0,0; 0,-cos(alfa),0,0,1,0,0,0; 0,sin(alfa),1,0,0,0,0,0; 0,0,0,-cos(alfa),-1,0,0,0; 0,0,0,sin(alfa),0,0,0,1]; %Wektor prawych stron-obciążenia b=[0;0;-2*P;0;0;P;0;0]; %Rozwiązanie rozw=A\b; format long g disp('Reakcje w podporach [N]') Ra=sqrt(rozw(6)^2+rozw(7)^2) Rb=rozw(8) disp('****************************') disp('Siły w prętach [N]') S=rozw(1:5) L=[2*L1; 2*L1/cos(alfa); L1; 2*L1/cos(alfa); 2*L1]; d=sqrt(4*abs(S)*n/(pi*Re)); AS=pi*d.^2/4; disp('****************************') disp('Wymagane średnice [mm]') d=d*1000 dL=(S.*L)./(E*AS); disp('****************************') disp('Odkształcenia prętów [mm]') dL=dL*1000

Otrzymane wyniki:

Reakcje w podporach [N]

Ra =

20615.5281280883

Rb =

5000

****************************

Siły w prętach [N]

Page 37: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

S =

10000

11180.3398874989

5000

-11180.3398874989

10000

****************************

Wymagane średnice [mm]

d =

9.97355701003582

10.5457525766981

7.05236979434695

10.5457525766981

9.97355701003582

****************************

Odkształcenia prętów [mm]

dL =

1.5847619047619

1.77181767359983

0.792380952380952

-1.77181767359983

1.5847619047619

Page 38: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

ELEKTROTECHNIKA

Obwód prądu stałego

Przykład obliczeniowy

Dla układu prądu stałego z trzema źródłami napięciowymi przedstawionego na rysunku

określić metodą prądów oczkowych natężenia prądów w poszczególnych obwodach układu.

Przyjąć następujące wartości oporów: R1=1Ω, R2=2Ω, R3=3Ω, R4=4Ω, R5=6Ω oraz napięć w

obwodach: E1=20V, E2=15V, E3=10V.

R1 R3 R5

R4R2

20V

15V

10VI1 I2 I3

Układ równań spadków napięć w poszczególnych oczkach układu ma postać:

1 1 2 1 2 2 3

2 2 1 2 3 4 2 4 3

3 1 4 2 4 5 3

E (R R ) I R I 0 I

E R I (R R R ) I R I

E 0 I R I (R R ) I

Realizacja algorytmu w programie Matlab:

Program elektr1.m %Program oblicza układ prądu stałego z trzema źródłami napięcia %metodą prądów oczkowych % R-macierz oporów % E-wektor napięć % I-wektor natężeń clc; clear all; E1=20; E2=15; E3=10; R1=1; R2=2; R3=3; R4=4; R5=6; disp('**************************************') disp('Macierz oporów [om]') R=[R1+R2, -R2, 0;... -R2, R2+R3+R4, -R4;... 0, -R4, R4+R5]

Page 39: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

disp('**************************************') disp('Wektor źródeł napięciowych [wolt]') E=[E1; -E2; -E3] disp('**************************************') disp('Obliczone prądy oczkowe[amper]') I=R\E disp('**************************************') disp('Poszczególne prądy w "oczkach" układu [amper]') I1=I(1,1) I2=I(2,1) I3=I(3,1)

Wyniki:

**************************************

Macierz oporów [om]

R =

3 -2 0

-2 9 -4

0 -4 10

**************************************

Wektor źródeł napięciowych [wolt]

E =

20

-15

-10

**************************************

Obliczone prądy oczkowe[amper]

I =

6.0440

-0.9341

-1.3736

**************************************

Poszczególne prądy w "oczkach" układu [amper]

I1 =

6.0440

I2 =

-0.9341

I3 =

-1.3736

**************************************

Obwód prądu przemiennego

Przykład obliczeniowy

Korzystając z praw Kirchhoffa wyznaczyć prądy w obwodach układu oraz kąty fazowe.

Obliczeń dokonać korzystając z liczb zespolonych. Dane liczbowe: R1=5Ω, R3=10Ω,

L1=2mH, L3=10mH, C2=50µF, Em=100V, f=100Hz.

Page 40: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

R1L1

R3

L3C2

Em

F

Program elektra2.m

%Program oblicza natężenia zastępcze opory, prądów i kąty fazowe obwodu %prądu przemiennego clc; clear all; R1=5; L1=2*10^(-3); C2=50*10^(-6); R3=10; L3=10*10^(-3); f=100; omega=2*pi*f; disp('**************************************') disp('Impedancje obwodów [om]') Z1=R1+j*(L1*omega) Z2=-j/omega/C2 Z3=R3+j*omega*L3 disp('**************************************') E=100/sqrt(2)+j*0; disp('**************************************') disp('Macierz impedancji [om]') A=[Z1, 0, Z3;... 0, Z2, -Z3;... 1, -1, -1] disp('**************************************') disp('Wektor napięć zasilających [wolt]') b=[E; 0;0] disp('**************************************') disp('Natężenia prądów w poszczególnych') disp('gałęziach obwodu [amper]') I=A\b disp('**************************************') disp('Moduły natężeń prądów [amper]') modul_I=abs(I) disp('**************************************') disp('Kąty fazowe [deg]') fi=angle(I)*180/pi disp('**************************************')

Wyniki :

Page 41: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

**************************************

Impedancje obwodów [om]

Z1 =

5.0000 + 1.2566i

Z2 =

0 -31.8310i

Z3 =

10.0000 + 6.2832i

**************************************

Macierz impedancji [om]

A =

5.0000 + 1.2566i 0 10.0000 + 6.2832i

0 0 -31.8310i -10.0000 - 6.2832i

1.0000 -1.0000 -1.0000

**************************************

Wektor napięć zasilających [wolt]

b =

70.7107

0

0

**************************************

Natężenia prądów w poszczególnych

gałęziach obwodu [amper]

I =

3.6733 - 0.7593i

0.0257 + 1.6145i

3.6475 - 2.3738i

**************************************

Moduły natężeń prądów [amper]

modul_I =

3.7509

1.6147

4.3519

**************************************

Kąty fazowe [deg]

fi =

-11.6790

89.0864

-33.0555

**************************************

Page 42: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Zadania

1) Do sieci prądu sinusoidalnego podłączono szeregowo odbiorniki R-L-C o wartościach:

R=25Ω, L=0.23H oraz C=27 µF. Napięcie sieci wynosi U=120 V, częstotliwość f=50 Hz.

Obliczyć:

impedancję,

prąd w obwodzie,

kąt przesunięcia fazowego napięcia względem prądu,

spadki napięcia na poszczególnych odbiornikach,

.

G U

C L R I

UR UL UC

Page 43: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

2)Obwód rozgałęziony składający się z cewki o rezystencji R1=15 Ω i indukcyjności L=0.05

H oraz opornika o rezystencji R2=22 Ω i znikomo małej indukcji przyłączono do sieci prądu

przemiennego o napięciu U=230V i częstotliwości f=50 Hz. Obliczyć prądy w

poszczególnych gałęziach obwodu. Wyznaczyć impedancję układu i sporządzić wykresy

wektorowe napięć, prądów i oporów.

U

I

L

Page 44: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

3)W jednej linii obwodu rozgałęzionego umieszczono cewkę o indukcyjności L=0.067 H oraz

opór czynny rezystencji R1=30 Ω. W drugiej gałęzi znalazł się kondensator o pojemności

C=123 µF. Układ podłączono następnie do źródła prądu przemiennego o napięciu U=230V i

częstotliwości f=50 Hz. Obliczyć prądy w poszczególnych gałęziach obwodu. Wyznaczyć

impedancję układu i sporządzić wykresy wektorowe napięć, prądów i oporów.

I

U

L

R C

Page 45: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

CAŁKOWANIE METODĄ GAUSSA

Sformułowanie problemu

Dla danej funkcji f(x) należy wyznaczyć jej całkę oznaczoną w granicach od a do b, tzn.

b

a

J f (x)dx .

W metodzie Gaussa zmieniamy granice całkowania na wartości znormalizowane od -1 do +1,

a całkę obliczamy z zależności

1

1

J F( )d ,

gdzie

b a b a b aF( ) f ( )

2 2 2.

Do wyznaczenia całki w granicach znormalizowanych służy przybliżony wzór w postaci

sumy:

1 n

i i

i 11

J F( )d w F(h ) ,

gdzie:

wi - wagi punktów Gaussa

hi - odcięte punktów Gaussa.

Wagi i odcięte punktów Gaussa dobierane są tak, aby powyższy przybliżony wzór był

tożsamością dla wielomianu potęgowego możliwie wysokiego stopnia

Page 46: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

1 2 2n 1

0 1 2 2n 1F( ) a a a ... a .

Liczba n punktów Gaussa decyduje o dokładności obliczeń.

Przykładowe wartości wag i odciętych punktów Gaussa przedstawiono w tabeli.

Przykład obliczeniowy

Napisać program korzystający z metody Gaussa całkowania dla funkcji

2

1f (x) x

w granicach od 0 do 5 oraz 2

2 x

xf (x)

e,

dla x z zakresu od 1 do 15.

Program w Matlabie dla n=5 punktów Gaussa

Program calkowanie.m %Calkowanie metodą Gaussa %Program wyznacza całkę oznaczoną metodą Gaussa %Funkcja podcałkowa zawarta jest w pliku funk1.m clear all; clc; h=[-0.9061798459 -0.5384693101 0 0.5384693101 0.9061798459]; w=[0.2369268851 0.4786286705 0.5688888889 0.4786286705 0.2369268851]; A=0; B=5;

P=(B+A)/2; Q=(B-A)/2;

S=0; for i=1:5 S=S+funk1(P+Q*h(1,i))*w(1,i); end format long g disp('********************************************')

disp('Całkowanie metodą Gaussa dla funkcji y=x^2') disp('w granicach od 0 do 5 dla n=5 punktów Gaussa') disp('') calka_met_gaussa=S*Q disp('') disp('********************************************') disp('') disp('Rozwiązanie - procedura Matlabowa quad()') calka_proc_quad=quad('x.^2',0,5) disp('') disp('********************************************') disp('Rozwiązanie dokładne') calka_rozw_dokl=B^3/3 disp('********************************************')

Page 47: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Program calkowanie2.m %Calkowanie metodą Gaussa %Program wyznacza całkę oznaczoną metodą Gaussa %Funkcja podcałkowa zawarta jest w pliku funk2.m clear all; clc; h=[-0.9061798459 -0.5384693101 0 0.5384693101 0.9061798459]; w=[0.2369268851 0.4786286705 0.5688888889 0.4786286705 0.2369268851]; A=1; B=15;

P=(B+A)/2; Q=(B-A)/2;

S=0; for i=1:5 S=S+funk2(P+Q*h(1,i))*w(1,i); end format long g disp('Całkowanie metodą Gaussa dla funkcji y=x^2/exp(x)') disp('w granicach od 1 do 5 dla n=5 punktów Gaussa') disp('********************************************') disp('') calka_met_gaussa=S*Q disp('') disp('********************************************') disp('') disp('Rozwiązanie - procedura w Matlabie: quad()') calka_proc_quad=quad('x.^2./exp(x)',1,15) disp('') disp('********************************************') disp('Rozwiązanie dokładne') calka_rozw_dokladne=((-15^2-2*15-2)/exp(15))-((-1^2-2*1-2)/exp(1)) disp('********************************************')

Skrypty definiujące funkcje podcałkowe: funk1.m oraz funk2.m

function f=funk1(x) f=x^2;

function f=funk2(x) f=x.^2./exp(x);

Wyniki:

********************************************

Całkowanie metodą Gaussa dla funkcji y=x^2

w granicach od 0 do 5 dla n=5 punktów Gaussa

calka_met_gaussa =

41.6666666687488

********************************************

Page 48: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Rozwiązanie - procedura Matlabowa quad()

calka_proc_quad =

41.6666666666667

********************************************

Rozwiązanie dokładne

calka_rozw_dokl =

41.6666666666667

********************************************

Całkowanie metodą Gaussa dla funkcji y=x^2/exp(x)

w granicach od 1 do 15, dla n=5 punktów Gaussa

********************************************

calka_met_gaussa =

1.82972968815975

********************************************

Rozwiązanie - procedura w Matlabie: quad()

calka_proc_quad =

1.83931861147104

********************************************

Rozwiązanie dokładne

calka_rozw_dokladne =

1.83931858896084

********************************************

Zadanie

Stosując metodę Gaussa obliczyć całki dla funkcji:

2f (x) x 2 ,

1f (x)

2 sin(x),

2xf (x)

sin(x) 3,

w granicach od 1 do 10. Wyniki porównać z rozwiązaniem dokładnym i uzyskanym za

pomocą procedur quad() i quadl().

Page 49: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

KINEMATYKA MECHANIZMÓW

Zadanie

Dla punktu M mechanizmu wyznaczyć i narysować:

równania ruchu

tor ruchu

prędkość i jej składowe

przyspieszenie i jego składowe

promień krzywizny toru

Zastosować polecenie "menu()" do poruszania się po opcjach programu. Umożliwić

wprowadzanie danych z klawiatury przez użytkownika. Poszczególne wielkości wyświetlać

na ekranach odrębnych i na ekranie zbiorczym-zastosować polecenie "subplot()".

Y

X

R

R

R

R/3

M

Skrypt programu

%program wyznacza rownania ruchu, tor, predkosc i przyspieszenie punktu %mechanizmu plaskiego clear all; clc; clf; %dane k=0 while k==0 okno1=menu('DANE','standardowe','z klawiatury', 'koniec') if okno1==1 r=1.43 om=10*pi end if okno1==2 r=input('podaj r') om=input('podaj \omega') end if okno1==3

Page 50: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

k=1 end end %obliczenia T=2*pi/om; t=0:T/50:3*T; x=-(1/3)*r*cos(om*t); y=(7/3)*r*sin(om*t); vx=(1/3)*r*om*sin(om*t); vy=(7/3)*r*om*cos(om*t); v=sqrt(vx.^2+vy.^2); ax=(1/3)*r*om^2*cos(om*t); ay=-(7/3)*r*om^2*sin(om*t); a=sqrt(ax.^2+ay.^2); at=(vx.*ax+vy.*ay)./v; an=sqrt(a.^2-at.^2); ro=v.^2./an; %okno nawigacji m=0 while m==0 okno2=menu('Wybierz opcjię','tor, krzywe Lissajou','predkości',... 'przyspieszenia','promień krzywizny toru',... 'wykres zbiorczy','koniec-wyjście z zprogramu'); if okno2==1 clf plot(x,y,'b') title('tor, krzywa Lissajou') Xlabel('x[m]'); Ylabel('y[m]'); end if okno2==2 clf plot(t,vx,'r',t,vy,'b',t,v,'k') title('predkości') Xlabel('t[s]'); Ylabel('vx,vy,v [m/s]'); legend('vx','vy','v') grid end if okno2==3 clf plot(t,ax,'r',t,ay,'b',t,a,'k') title('przyspieszenia') legend('ax','ay','a') Xlabel('t[s]'); Ylabel('ax,ay,a [m/s^2]'); grid end if okno2==4 clf plot(t,ro,'k') title('promien krz') Xlabel('t[s]'); Ylabel('\rho [m]'); grid end if okno2==5 clf subplot(2,2,1)

Page 51: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

plot(x,y,'b') title('tor, krzywa Lissajou') Xlabel('x[m]'); Ylabel('y[m]'); grid subplot(2,2,2) plot(t,vx,'r',t,vy,'b',t,v,'k') legend('vx','vy','v') title('predkości') Xlabel('t[s]'); Ylabel('vx,vy,v [m/s]'); grid subplot(2,2,3) plot(t,ax,'r',t,ay,'b',t,a,'k') title('przyspieszenia') legend('ax','ay','a') Xlabel('t[s]'); Ylabel('ax,ay,a [m/s^2]'); grid subplot(2,2,4) plot(t,ro,'k') title('promien krzywizny toru') Xlabel('t[s]'); Ylabel('\rho [m]'); grid end if okno2 ==6 m=2; end

end

Okna menu użytkownika: wczytywanie danych i wyświetlanie wyników

Wykresy zbiorcze

Page 52: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Zadania

Dla punktu opisanego równaniami ruchu w postaci:

x(t) 3 cos(2 t) 2

y(t) 5 sin(2 t) 3

tz(t)

2

,

obliczyć i narysować:

- tor ruchu

- prędkości

- przyspieszenia

- promień krzywizny toru.

Wyniki przedstawić na pojedynczych i na zbiorczych wykresach. Zastosować polecenie

"menu()" do poruszania się po opcjach programu.

Uwaga! Wszystkie wielkości wyrażono w jednostkach SI.

Page 53: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

III. DYNAMIKA UKŁADÓW WIELOMASOWYCH

METODA NEWMARKA CAŁKOWANIA RÓWNAŃ

RUCHU

Dla równań ruchu w postaci:

M q C q K q f ,

gdzie:

M, C, K -macierze bezwładności, tłumienia, sztywności,

q -wektor współrzędnych uogólnionych,

f -wektor wymuszeń

nieznane wartości prędkości i przemieszczenia w metodzie Newmarka otrzymujemy za

pomocą funkcji wielomianowej aproksymującej ich przebiegi

t t t t t tq q (1 ) q q t

2

t t t t t t t

1q q q t q q t

2.

Wartości współczynników α i δ przyjmowane są tak, aby rozwiązanie było dokładne i

stabilne. Metoda Newmarka jest bezwarunkowo stabilna dla

2

1 1

4 2

1

2.

Po wstawieniu zależności na prędkość i przemieszczenie do równań ruchu i uporządkowaniu

zmiennych, otrzymujemy równanie

2 2

t t t t t t t

1M t C t K q f C q 1 t q K q q t q t

2

z którego wyznaczamy niewiadomy wektor przyspieszeń w kolejnej chwili czasowej t+Δt.

Wartości wektora przyspieszenia w chwili czasowej t otrzymujemy dla warunków

początkowych:

tq q(0)

tq q(0)

z zależności

Page 54: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

t t tM q f C q K q

Wybór kroku całkowania, Δt, uzależniony jest głównie od obliczonych częstości drgań

własnych. Dla uzyskania wysokiej dokładności całkowania zaleca się, aby krok przyrostowy

czasu spełniał zależność

2

max

2t

1 4,

gdzie

ωmax -największa częstość drgań własnych.

Przykład obliczeniowy

Dla układu trzech mas przedstawionych na rysunku, określić macierze układu (M, C, K ) i

wektor wymuszenia oraz rozwiązać układ równań różniczkowych ruchu stosując metodę

Newmarka. Wyniki wyświetlić na wykresie zbiorczym.

3

2

1

F

Skrypt programu

Page 55: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

clear all; clc; %Macierze bezwładności, tłumienia i sztywności m1=1; m2=1; m3=2; M=[m1 0 0;... 0 m2 0;... 0 0 m3];

c=7; C=[c 0 0;... 0 2*c -c;... 0 -c c];

k=8000; K=[4*k -2*k -k;... -2*k 4*k -k;... -k -k 3*k];

format long g

%Częstości i postacie drgań [postac,omega2]=eig(K,M); omega_0=sqrt(omega2) D=[zeros(3,3) eye(3);... -M^(-1)*K -M^(-1)*C]; omega_tlum=eig(D) omega_0_max=max(max(omega_0))

%Procedura NEWMARKA calkowania numerycznego nn=3; %wymiar zagadnienia (liczba stopni swobody układu alfa=0.25; delta=0.5;

% Start-krok pierwszy qt=zeros(nn,1); dqt=zeros(nn,1); F=zeros(nn,1); F(1,1)=1000; d2qt=M^(-1)*(F-C*dqt-K*qt); t_final=0.4; t_start=0; %Krok przyrostowy czasu dt=2/(omega_0_max*sqrt((1+delta)^2-4*alfa))*1/5; limit=round(t_final/dt); x=zeros(limit,nn); V=zeros(limit,nn); a=zeros(limit,nn); tt=0; t=zeros(limit,1);

%Obliczenia w kolejnych krokach całkowania for i=1:limit d2q=(M-delta*dt*C+alfa*(dt)^2*K)^(-1)*(F-C*(dqt+(1-delta)*dt*d2qt)-... K*(qt+dt*dqt+(1/2-alfa)*(dt)^2*d2qt)); dq=dqt+((1-delta)*d2qt+delta*d2q)*dt; q=qt+dqt*dt+((1/2-alfa)*d2qt+alfa*d2q)*(dt)^2; for j=1:nn x(i,j)=q(j);

Page 56: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

V(i,j)=dq(j); a(i,j)=d2q(j); end; tt=tt+dt; t(i,1)=tt; qt=q; dqt=dq; d2qt=d2q; end

%Wyświetlenie wyników subplot(3,1,1) plot(t,x(:,1),'b',t,x(:,2),'r',t,x(:,3),'k') grid title('Przemieszczenie'); xlabel('t [s]'); ylabel('x[m]'); legend('masa m1','masa m2','masa m3')

subplot(3,1,2) plot(t,V(:,1),'b',t,V(:,2),'r',t,V(:,3),'k') grid title('Predkosc'); xlabel('t [s]'); ylabel('V[m/s]'); legend('masa m1','masa m2','masa m3')

subplot(3,1,3) plot(t,a(:,1),'b',t,a(:,2),'r',t,a(:,3),'k') grid title('Przyspieszenie'); xlabel('t [s]'); ylabel('a[m/s^2]'); legend('masa m1','masa m2','masa m3')

Otrzymane wyniki: częstości drgań własnych układu oraz przebiegi przemieszczeń,

prędkości i przyspieszeń.

omega_0 =

75.8537325961266 0 0

0 149.151638446365 0

0 0 219.089023002066

omega_tlum =

-5.24474623475579 + 218.922555314644i

-5.24474623475579 - 218.922555314644i

-5.62741132051675 + 149.086082370804i

Page 57: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

-5.62741132051675 - 149.086082370804i

-1.37784244472752 + 75.8564657024866i

-1.37784244472752 - 75.8564657024866i

omega_0_max =

219.089023002066

Zadania

Zastosować metodę Newmarka dla układu mas połączonych elementami sprężystymi i

tłumiącymi. Przyjąć masy: M1=10 kg, M2=7 kg, M3=2 kg, sztywności i tłumienia wszystkich

elementów są jednakowe i równają się odpowiednio :k=11000 N/m, c=12 Ns/m.

Page 58: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

F M1

M2

M3

RÓWNANIA RÓŻNICZKOWE W MATLABIE

Do rozwiązania różniczkowych równań ruchu stosowanych jest w Matlabie kilkanaście

procedur. Najczęściej stosowane procedury to:

ode23('funkcja',[t0 tk],x0, opcje)

ode45('funkcja',[t0 tk],x0, opcje),

gdzie:

'funkcja' -odwołanie do skryptu funkcji definiującego analizowane równanie

różniczkowe,

[t0 tk] -wektor czasu badania,

x0 -wektor wartości początkowych,

opcje -dodatkowe opcje procedur.

Zadanie

Dla układu wózka o masie m1 z sprężyną o sztywności k i wahadłem matematycznym o

długości L i masie m2 wyznaczyć różniczkowe równania ruchu oraz przebiegi prędkości i

przemieszczeń w funkcji czasu. Zastosować metodę Rungego-Kutty. Wyniki porównać z

rozwiązaniem uzyskanym z metody Newmarka.

Page 59: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

k m1

L

m2

Równania ruchu wyprowadzimy korzystając z równań Lagrange'a II rodzaju

k ki

i i i i

E Ed D VQ

dt q q q q,

gdzie:

Ek -energia kinetyczna

D -funkcja dyssypacji energii

V -energia potencjalna

Qi -siła uogólniona

qi -i-ta współrzędna uogólniona

i=1..n

n -liczba stopni swobody układu.

Page 60: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

PRZYKŁADY :

k

m

r m

b

µ= 0

Tarcza, m, r

k

x

h

k 2k

μ = 0

m

Page 61: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

IV. ALGORYTMY SORTOWANIA

Sformułowanie problemu

Dany jest n-elementowy wektor wartości, które należy uporządkować niemalejąco, tzn.

zmienić kolejność wyrazów tak, aby spełniały one warunek:

i i 1a a .

Rozwiązując zadanie można skorzystać z następujących metod:

sortowanie metodą bąbelkową

sortowanie metodą przestawiania sąsiednich elementów

sortowanie metodą przestawiania wg indeksów

sortowanie ze scalaniem

sortowanie przez "kopcowanie"

sortowanie przez wstawianie

sortowanie metodą Shella

Sortowanie metodą przestawiania sąsiednich elementów wektora polega na porównaniu

dwóch jego sąsiednich elementów. Jeżeli element następny jest mniejszy od poprzedniego, to

zamieniają się miejscami. Tyle razy przeglądamy całość ciągu, aż wszystkie wyrazy będą

spełniały żądaną formułę sortowania.

Przykładowo dla ciągu a=[1, 7, 6, 4, 2, 5]

pierwsze przeglądanie: a=[1, 7, 6, 4, 2, 5]

6, 7

4, 7

2, 7

5, 7

drugie przeglądanie: a=[1, 6, 4, 2, 5, 7]

4, 6

2, 6

5, 6

trzecie przeglądanie: a=[1,4, 2, 5, 6, 7]

2, 4

czwarte przeglądanie: a=[1, 2, 4, 5, 6, 7]

nie powoduje żadnej zmiany. Ciąg został uporządkowany.

Podobny algorytm można zastosować do ustawienia elementów ciągu w odwrotnej

kolejności, tzn. malejąco.

Skrypt programu

%Program sortuje elementy wektora w kierunku wzrastania wartości - typ A %oraz typ B i C, których schemat sortowania przedstawiono na wykresach clear all; clc; n=60; %liczba elementów wektora %Utworzenie wektora o losowych elementach z zakresu od 1 do 100

Page 62: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

A=rand(1,n); B=A*100; C=ceil(B); L=length(C); t=0; %Sortowanie w kierunku wzrastania wartości - typ A while t<L for i=1:L-1 a=C(1,i); b=C(1,i+1); if a>b C(1,i)=b; C(1,i+1)=a; t=0; else t=t+1; end end end

subplot(3,1,1) bar(C); title('Sortowanie - typ A') axis([1 n 0 100]); axis off

%Sortowanie - typ B a=1; b=L; C(b); W=zeros(1,L); i=3; for i=1:L if rem(i,2)==0 W(i)=C(a); a=a+1; else W(i)=C(b); b=b-1; end end

subplot(3,1,2) bar(W); title('Sortowanie - typ B') axis([1 n 0 100]); axis off;

%Sortowanie - typ C a=1; b=L; L=L*2;

Q=zeros(1,L); i=3; for i=1:L if rem(i,2)==0 Q(i)=C(a);

Page 63: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

a=a+1; else Q(i)=C(b); b=b-1; end end

subplot(3,1,3) bar(Q); title('Sortowanie - typ C') axis([1 2*n 0 100]); axis off;

Zadanie S1

Wygenerować ciąg losowych wartości całkowitych od -100 do +100 oraz uporządkować je

malejąco, a następnie przestawić elementy wg schematu pokazanego na rysunku S1.

Page 64: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Rys. S1

Zadanie S2

Wygenerować ciąg losowych wartości całkowitych od 0 do 1 oraz uporządkować je

wzrastająco, a następnie przestawić elementy wg schematu pokazanego na rysunku S2

Rys. S2

Page 65: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

V. PAKIET MATLAB I SIMULINK W AUTOMATYCE I

STEROWANIU

MODELOWANIE W AUTOMATYCE

1. Dla układu przedstawionego na rysunku określić transmitancję

operatorową )(

)()(

sX

sYsK

Tarcza

1 0k x r r J Fr''( - ) = +

Klocek

ykbymyF 2

'''

Związek kinematyczny ry

(*) rykkbryrmyyr

Jrkx )( 21

''''''01

)()]()()[()( 21

2

2

01 sYkksbsm

r

JsXk

Page 66: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

(**) 1

20

2 1 2

kY s L sK s

JX s M sm s b s k k

r

( ) ( )( ) = = =

( ) ( )( + ) + ( ) + ( + )

Dla dalszych obliczeń przyjąć :

J0 =2.5 kgm2

m=5 kg

k1=10000 N/m

k2=700 N/m

b=67 N s/m

r=300 mm=0.3 m

2. Wprowadzenie transmitancji układu w Matlabie

Dla (**) mamy: Licznik L=[k1]

Mianownik )[(2

0 mr

JM b (k1 + k2)]

wyświetlenie K(s): printsys (L,M) ,, tf (L, M)

wykresy Bode’a: bode (L, M)

wykres Nyquista: nyquist (L, M)

odpowiedz skokowa: step (L, M)

odpowiedz impulsowa: impulse (L, M)

podział ekranu na podwykresy: subplot(i, j, k)

opis tytułu: title(‘ tekst’)

% plik w Matlabie

% DANE

Jo=2.5;

m=5;

r=0.3;

k1=10000;

k2=7000;

b=67;

L=[k1]; % LICZNIK

M=[(Jo/r^2+m) b (k1+k2)]; % MIANOWNIK

printsys(L,M) % WYSWIETLENIE TRANSM. OPERAT. UKL.

subplot(2,2,1)

bode(L,M) % WYKRESY BODE'A

Page 67: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

grid

subplot(2,2,2)

nyquist(L,M) % WYKRES NYQUIST

subplot(2,2,3)

step(L,M) % ODPOWIEDZ SKOKOWA

grid

subplot(2,2,4)

impulse(L,M) % ODPOWIEDZ IMPULSOWA

grid

3. Simulink

Zamodelować działanie układu o transmitancji operatorowej (**) w programie „SIMULINK”. Zadać

wymuszenie skokowe i sygnałem harmonicznym o częstotliwości rad

10s

= . Korzystając z

członów całkujących Ts

1 zamodelować układ opisany różniczkowym równaniem ( )

Page 68: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

)()()(

)(

21

2

2

0

1

kksbsmr

J

ksK

a) Uruchomić pakiet Matlab.

b) Z menu wybrać ikonę pakietu SIMULINK.

c) Otworzyć okno tworzenia nowego modelu.

d) Otwierając grupy z elementami schematów blokowych ( continuous, math operations,…,sinks, itd.)

utworzyć model analizowanego układu.

UWAGA!!! Poszczególne elementy „przeciągamy” z okna źródłowego ( np. „Continuous”) do okna

modelu ( np. „Untitled”) lewym przyciskiem myszy.

e) Zmiany ustawień:

parametry i nastawy 2x klikając myszką na dany obiekt,

wygląd, kierunek, kolor bloków najechać na obiekt, nacisnąć prawy przycisk muszy, zmienić

opcję,

np. Format

│ Flip Block (obrót o 180°)

│ Rotate Blok (obrót o określony kąt )

UWAGA!!! Dodatkowe informacje o zmianach parametrów i ustawień – wg instrukcji zamieszczonej

w punkcie ksero.

f) Opisy obiektów i sygnałów:

obiekt 1x kliknąć na nazwę, np. Gs zmienić opis na właściwy,

sygnał (linie) 2x kliknąć na linię, wpisać nazwę lub symbol np. y’’

,y’, y, wyjście, itd.,

g) Okna wykresów scope 2x dwa razy kliknąć na okno.

Page 69: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Page 70: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Z równania (*)

])([)1

( 21

'

1

2

0

'' ykkbyxk

mr

Jy

Page 71: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Page 72: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

Page 73: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

DOBÓR NASTAW REGULATORA TYPU "PID"

Dla układu opisanego transmitacją K(S) dobrać optymalne nastawy regulatora PID metodą Zieglera-

Nicholsa. Posłużyć się przykład em 9-13 , str. 212 oraz tablicą - str. 210.

W. Próchnicki, M. Dzida, Lub wg. C. Orlikowski, E. Wittbrodt

„Zbiór zadań z Podstaw Automatyki” „Laboratorium z Automatyki i Sterowania”

wyd. PG, Gdańsk 1993 str. 142

Nastawy optymalne:

krd

kri

krp

TT

TT

KK

12.0

5.0

6.0

krd

kri

krp

TT

TT

KK

5.0

33.0

2.0

1. Ustawić regulator PID na działanie tylko proporcjonalne, tzn.

)5.040(1020

5.0

)(1)(

23

kr

kr

kr

krzast

Ksss

K

sKK

KsK

z warunków stabilności wg. Hurwitza:

40 + 0.5Kkr > 0 80krK

oraz

)5.040(200

0101

0)5.040(20

3

kr

kr

K

K

0)5.040()1020(2 krK 320krK

Na granicy stabilności układ znajduje się dla: Kkr=320.

2. Wprowadzając Kkr uzyskamy odpowiedź dla granicy stabilności w postaci:

Page 74: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

z wykresu odczytać 98.1krT

3. Wyznaczyć nastawy regulatora PID wg:

krd

kri

krp

TT

TT

KK

5.0

33.0

2.0

)1

1()( sTsT

KsK d

i

preg

4. Tworzenie schematów blokowych w Matlabie

sprzężenie zwrotne

znak =

1

lub

1

[L , M] = feedback (L1, M2, L2, M2, znak)

sztywne sprzężenie zwrotne

Page 75: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

[L , M] = cloop (L1, M1, znak)

człony szeregowe

[L , M] = series (L1, M2, L2, M2)

człony równoległe

[L , M] = parallel ( (-)L1, M2, (-)L2, M2)

odpowiedź skokowa

),( MLstep

odpowiedź impulsowa

),( MLimpulse

5. Listing programu w Matlabie do wyznaczania nastaw regulatora PID

clear all;

clc;

clf;

% TRANSMITANCJA OBIEKTU

L1=[0.5];

M1=[1 20 10 40];

clc;

disp('transmitancja operatorowa obiektu')

Page 76: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

tf(L1,M1)

% TRANSM. UKL. BEZ REGULATORA

[L2,M2]=cloop(L1,M1,-1);

subplot(4,1,1)

impulse(L2,M2)

legend('uklad bez regulatora')

t=[0:0.01:20];

[y1,x,t]=impulse(L2,M2,t);

grid

% ODPOWIEDZ UKLADU Z WZMOCNIENIEM Kkr

Kkr=320;

[L3,M3]=cloop(Kkr*L1,M1,-1);

subplot(4,1,2)

impulse(L3,M3)

LEGEND('uklad na granicy stabilnosci')

grid

% WYZNACZENIE NASTAW REG. PID

Tkr=4.5-2.52;

kp=0.2*Kkr;

Ti=0.33*Tkr;

Td=0.5*Tkr;

% TRANSMITANCJA REG. PID

[Lr,Mr]=parallel([0 1],[Ti 0],[Td 0],[0 1]);

[L_pid,M_pid]=parallel(kp*Lr,Mr,kp*[1],[1]);

disp('transmitancja regolatora pid')

tf(L_pid,M_pid)

% TRNSMITANCJA UKLADU Z REGULATOREM PID

[L4,M4]=series(L_pid,M_pid,L1,M1);

[L_z_reg,M_z_reg]=cloop(L4,M4,-1);

subplot(4,1,3)

impulse(L_z_reg,M_z_reg)

[y2,x,t]=impulse(L_z_reg,M_z_reg,t);

grid

legend('uklad z regultorem PID')

% POROWNANIE

subplot(4,1,4)

plotyy(t,y1,t,y2)

title('Porownanie odpowiedzi impulsowych')

xlabel('t[s]')

grid

Page 77: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

6. Okno wykresów – ”Figure 1”

Page 78: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

7. Realizacja układu z regulatorem PID w programie SIMULINK

Page 79: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

VI. ZASTOSOWANIE PROGRAMU MATHCAD

Wyznaczenie zarysu teoretycznego wałka

Dla wałka przedstawionego na rysunku wyznaczyć wykresy momentów gnących, sił tnących,

momentów skręcających i moment zastępczy oraz zarys teoretyczny wałka. Zastosować

hipotezę Hubera dla wyznaczenia naprężeń zastępczych. Obliczenia wykonać korzystając z

programu MATHCAD.

RA RB

P

M1

M2

Ms1

q

Ms2 Ms

Poniżej załączono program uruchomiony w środowisku MATHCAD.

Page 80: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

DANE DO ZADANIA:

L 1.3 m q 1000N

m Re 36010

6 N

m2 n 2.5

P q L M1

q L2

4 M2

q L2

2 Zsj 38010

6 N

m2

P 1300N M1 422.5N m M2 845N m

Zgo 340106 N

m2

WYZNACZENIE REAKCJI - RÓWNANIA RÓWNOWAGI

Given

RA RB P q 3 L 0

P L M1 q 3 L3

2L M2 RB 3 L 0

RA

RB

Find RA RB

3791.6666666666666667N

1408.3333333333333333N

RA 3.792 103

N RB 1.408 103

N

MOMENTY GNĄCE x 0 m 0.015L 4 L

Mg x( ) P x( ) 0 m x Lif

P x RA x L( ) M1 qx L( )

2

2otherwise

0 0.54 1.08 1.62 2.16 2.7 3.24 3.78 4.32 4.86 5.4

2 103

1.333 103

666.667

666.667

1.333 103

2 103

Moment gnacy

[m]

[Nm

]

Mg x( )

x

Page 81: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

SIŁY TNĄCE

T x( ) P( ) 0 m x Lif

P RA q x L( ) otherwise

0 0.54 1.08 1.62 2.16 2.7 3.24 3.78 4.32 4.86 5.4

2 103

1.167 103

333.333

500

1.333 103

2.167 103

3 103

Sila tnaca

[m]

[N]

T x( )

x

MOMENT SKRĘCAJĄCY

Ms x( ) q L2

0 m x Lif

2 q L2

otherwise

0 0.54 1.08 1.62 2.16 2.7 3.24 3.78 4.32 4.86 5.41.5 10

3

1.833 103

2.167 103

2.5 103

2.833 103

3.167 103

3.5 103

Moment skrecajacy

[m]

[Nm

]

Ms x( )

x

Page 82: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

NAPRĘŻENIA ZREDUKOWANE

red g2

s2

dop

MOMENT ZREDUKOWANY dop

Re

n

Zgo

Zsj

Mred x( ) Mg x( )2

2Ms x( )

2

0 0.54 1.08 1.62 2.16 2.7 3.24 3.78 4.32 4.86 5.4600

780

960

1.14 103

1.32 103

1.5 103

1.68 103

1.86 103

2.04 103

2.22 103

2.4 103

moment redukowany

[m]

[N]

Mred x( )

x

SREDNICA WYMAGANA - zarys teoretyczny wałka

d x( )

332 Mred x( )

dop

1000

0 0.54 1.08 1.62 2.16 2.7 3.24 3.78 4.32 4.86 5.430

24

18

12

6

0

6

12

18

24

30

Zarys teoretyczny walka

[m]

[mm

]

d x( )

2

d x( )

2

x

Page 83: Informatyka w Mechatronice - Opracowanie

Projekt współfinansowany ze środków Unii Europejskiej

w ramach Europejskiego Funduszu Społecznego

VIII. BIBLIOGRAFIA

1. Wittbrodt E., Sawiak S., Mechanika ogólna. Teoria i zadania. Wydawnictwo

Politechniki Gdańskiej, Gdańsk 2005

2. Kucenko A. N., Rublew J. W., Zbiór zadań z fizyki dla wyższych uczelni

technicznych, PWN, Warszawa 1980

3. Osiński Z., red., Zbiór zadań z teorii drgań, PWN, Warszawa 1989

4. Jakubowicz A., Orłoś Z., Wytrzymałość materiałów, WNT, Warszawa 1984

5. Heimann B., Gerth W., Popp K., Mechatronika. PWN, Warszawa 2001

6. Brański W., Herman M.A., Widomski L., Zbiór zadań z fizyki. Elektryczność i

magnetyzm, PWN, Warszawa 1981

7. Zawalich E., Zawalich J., Elektrotechnika dla mechaników-zadania. Wydawnictwo

Politechniki Gdańskiej, Gdańsk 2003

8. Findeisen W. (red), Automatyka. Poradnik inżyniera, WNT, Warszawa 1969

9. Próchnicki W., Dzida M., Zbiór zadań z podstaw automatyki, Wydawnictwo

Politechniki Gdańskiej, Gdańsk 1993

10. Paleczek W., Mathcad w algorytmach, Exit, Warszawa 2005

11. Zalewski A., Cegieła R., Matlab-obliczenia numeryczne i ich zastosowania, Wyd.

Nakom, Poznań 1996

12. Brzózka J., Dobroczyński L., Programowanie w Matlab, Wyd. Mikom, Warszawa

1998

13. Dietrich M. (red), Podstawy Konstrukcji Maszyn, t. 2, WNT, Warszawa 1995