TECHNIKI KOMPUTEROWE
Algorytmy symulacyjne.
Algorytmy generujące.
Prof. dr hab. Jerzy Pokojski
wydział SiMR PW, Mechatronika i IPEH
I rok, semestr I
Wykład 4
Algorytmy symulacyjne
Algorytmy symulacyjne
- problem przykładowe - zadania z kinematyki.
- można dokładnie określać położenia, prędkości i
przyspieszenia przemieszczających się obiektów.
- zastosowanie komputera pozwala na wykorzystanie
podejścia symulacyjnego.
- można określać równolegle ruch większej liczby
przemieszczających się obiektów.
- w ten sposób symulujemy ich realne zachowanie.
- można badać relacje zachodzące pomiędzy
symulowanymi obiektami.
Przykład 1
Przykład 1
Miejscowość A Miejscowość B
Pociąg wyjeżdżający z A Pociąg wyjeżdżający z B
s1 s2
20 km odległość pomiędzy A i B
x1
x2
Przykład 1
Miejscowość A Miejscowość B
Pociąg wyjeżdżający z A Pociąg wyjeżdżający z B
s1 s2
20 km odległość pomiędzy A i B
x1
x2
Przykład 1/1
int main(array
^args)
{
float s1, t, v1, dt;
int i;
v1 = 80;
dt = 0.01;
t = 0;
...
int main(array ^args)
{
Przykład 1/2
for (i = 1;i< 30; i++)
{
t = t + dt;
s1 = v1 * t;
Console::WriteLine(L"-> czas t droga s1 \n");
printf("t: %f %f\n", t, s1);
}
scanf("%f", &t);
return 0;
}
Przykład 2
Przykład 2
Miejscowość A Miejscowość B
Pociąg wyjeżdżający z A Pociąg wyjeżdżający z B
s1 s2
20 km odległość pomiędzy A i B
x1
x2
Przykład 2/1
int main(array ^args)
{
float s1, s2, t, t2p, v1, v2,dt;
int i;
v1 = 80;
dt = 0.01;
v2 = 100;
t2p = 0.2;
t = 0;
...
...
for (i = 1;i< 30; i++)
Przykład 2/2
{
t = t + dt;
s1 = v1 * t;
Console::WriteLine(L"-> czas t droga s1 \n");
printf("t: %f %f\n", t, s1);
if (t - t2p > 0.0)
{
s2 = v2 * (t - t2p);
Console::WriteLine(L"-> czas t-t2p droga s2 \n");
printf("t: %f %f\n", t-t2p, s2);
...
Przykład 2/3
...
}
}
scanf("%f", &t);
return 0;
}
Przykład 3
Przykład 3
Miejscowość A Miejscowość B
Pociąg wyjeżdżający z A Pociąg wyjeżdżający z B
s1 s2
20 km odległość pomiędzy A i B
x1
x2
Przykład 3/1
int main(array ^args)
{
float s1, s2, t, t2p, v1, v2,dt, x1, x2;
int i;
v1 = 80;
dt = 0.01;
v2 = 100;
t2p = 0.2;
t = 0;
...
....
Przykład 3/2
for (i = 1;i< 30; i++)
{
t = t + dt;
s1 = v1 * t;
Console::WriteLine(L"-> czas t droga s1 \n");
printf("t: %f %f\n", t, s1);
if (t - t2p > 0.0)
{
....
Przykład 3/3
....
if (t - t2p > 0.0)
{
s2 = v2 * (t - t2p);
Console::WriteLine(L"-> czas t-t2p droga s2 \n");
printf("t: %f %f\n", t-t2p, s2);
....
Przykład 3/4
....
x1 = s1;
x2 = 20 - s2;
if (abs(x1 - x2) < 0.5)
{
Console::WriteLine(L"-> spotkanie pociągów \n");
}
}
scanf("%f", &t);
return 0;
}
Przykład 3 + grafika
Przykład 3 + grafika
Algorytmy generujące
Algorytmy generujące
- generowanie liczb spełniających określone warunki
- generowanie przez algorytm obiektów o
określonych cechach matematycznych
- generowanie losowe
Przykład 1
Przykład 1
- zbuduj program generujący liczby parzyste i
nieparzyste
int main(array ^args)
{
int parzysta, nieparzysta, n ;
for (n=0; n<=100; n++)
{
Przykład 1
parzysta = (2 * n);
nieparzysta = (2 * n) - 1;
printf("parzysta nieparzysta \n");
printf(": %d %d\n", parzysta, nieparzysta);
}
scanf("%f", &n);
return 0;
}
Przykład 2
int main(array ^args)
{
int n, losowa ;
void RangedRandDemo(int, int, int);
printf(" \n\n losowa bez przedziału \n\n");
for (n=0; n<=10; n++)
{
losowa=rand();
printf(" n losowa \n");
printf(" %d %d\n", n, losowa);
}
printf(" \n\n losowa z przedziału (1, 100) \n\n");
RangedRandDemo(1, 100, 10);
scanf("%d", &n);
return 0;
Przykład 2/1
}
Przykład 2/2
void RangedRandDemo( int range_min, int range_max, int n )
{
int i;
for ( i = 0; i < n; i++ )
{
int u = (double)rand() / (RAND_MAX + 1) * (range_max -
range_min) + range_min;
printf(" i losowa \n");
printf( "%d %6d\n", i, u);
}
}
Przykład 3
Przykład 3
- generator losowy x2
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
F
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
F
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
F
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
F
x2
akcja
- generator losowy x1 x1
Przykład 3
- generator losowy x2
F
x2
- generator losowy x1 x1
Przykład 3
- generator losowy x2
F
x2
akcja
- generator losowy x1 x1
Przykład 3
- generator losowy x2
F
x2
- generator losowy x1 x1
Podsumowanie
Wyszukiwarka
Podobne podstrony:
Wyklad 8 MiBM Mechatronika IPEH
Wykłady Mechatronika
Wyklad 5 Mech IPEH
Modelowanie układów mechatronicznych w środowiskach obliczeniowych WYKŁAD
Wyklad 10 Mechatronika i IPEiH
Sieci komputerowe wyklady dr Furtak
Wykład 05 Opadanie i fluidyzacja
WYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznej
mo3 wykladyJJ
ZARZĄDZANIE WARTOŚCIĄ PRZEDSIĘBIORSTWA Z DNIA 26 MARZEC 2011 WYKŁAD NR 3
Wyklad 2 PNOP 08 9 zaoczne
Wyklad studport 8
Kryptografia wyklad
więcej podobnych podstron