Cw06

background image

1

Ćwiczenie 6. Metody obliczeniowe cd.

Zastosowania obliczeń symbolicznych

W Symbolic Math Toolbox do całkowania wyrażeń symbolicznych wykorzystuje się następujące funkcje:

int(S) – oblicza całkę nieoznaczoną wyrażenia symbolicznego S,

int(S,v) - oblicza całkę nieoznaczoną dla S , ze względu na zmienną v,

int(S,a,b) – zwraca całkę oznaczoną dla S, w granicach od a do b,

int(S,v,a,b) – jw.., dla ustalonej zmiennej v.

Ćwiczenie

Znaleźć wzór na prędkość w ruchu jednostajnie przyśpieszonym w przedziale [t

0

, t] z przyśpieszeniem a oraz

warunkiem początkowym v(t

0

)=v

0

.

Zadanie to możemy rozwiązać na 2 sposoby:
Sposób 1. Wykorzystanie funkcji int

Korzystamy z tego, że przyśpieszenie jest pochodną prędkości v względem czasu t.

= ,

=

Po scałkowaniu otrzymujemy:

=

+

Metoda obliczeń symbolicznych w Matlab-ie:

syms

syms

syms

syms a v0 t0 t

v = v0 + int

int

int

int a,t,t0,t

Wynik obliczeń symbolicznych:

v = v0 + a* t-t0

Sposób 2. Wykorzystanie funkcji dsolve

Funkcja dsolve rozwiązuje symbolicznie zwykłe równania różniczkowe.

dsolve

dsolve

dsolve

dsolve 'równanie1', 'równanie2',… 'zmienna1', 'zmienna2',…

Warunki początkowe są określane przez równania podobne do 'y(a)=b' lub 'Dy(a)=b' gdzie y jest zmienną

zależną, zaś a i b są stałymi.

Przyśpieszenie jest pochodną prędkości v względem czasu t.

= ,

=

Określenie zmiennych symbolicznych:

syms

syms

syms

syms a t0 t v0 v

Wywołanie funkcji dsolve zapis równania różniczkowego w postaci symbolicznej .

dsolve

dsolve

dsolve

dsolve 'Dv=a ', 'v t0 =v0 ', 't'

Metoda obliczeń symbolicznych w Matlab-ie:

% program rozwiązania równania różniczkowego dv/dt=a, v t0 =v0

syms

syms

syms

syms a t0 t v0 v

v = dsolve

dsolve

dsolve

dsolve 'Dv = a','v t0 = v0' %zmienna t jest domyślna

Ćwiczenie

Obliczyć symbolicznie wzór na drogę w ruchu jednostajnie przyśpieszonym z przyśpieszeniem a oraz

warunkiem początkowym s(t

0

)=s

0

przy wykorzystaniu wzoru symbolicznego na prędkość

v = v

0

+ a* t – t

0

Metoda obliczeń:

background image

2

Prędkość jest pochodną drogi s względem czasu t.

2

= , 2

= 2

Po scałkowaniu otrzymujemy:

2 = 2 +

Metoda 1. Obliczenia symbolicznego wzoru na drogę, z wykorzystaniem wzoru symbolicznego na prędkość v

oraz funkcji całkującej int:

syms

syms

syms

syms a v0 t0 t s0

v = v0 + a* t-t0

s = s0 + int

int

int

int v, t, t0, t

Wynik obliczeń symbolicznych:

s =

s0 + ½*a* t^2 – t0^2 – a*t0* t-t0 + v0* t-t0

Podstawianie do wzoru wartości liczbowych:

Wartości liczbowe znajdujemy korzystając z funkcji subs, mającej składnię:

subs(wyrażenie,{lista zmiennych},{lista_wartości})

Pierwszy sposób:

Podstawiamy za zmienne symboliczne wartości liczbowe:

t0=0, v0=0, s0=0

Korzystamy z funkcji subs, która podstawia do wzoru symbolicznego wartości liczbowe:

s1=subs s

otrzymujemy znany wzór na drogę w ruchu jednostajnie przyśpieszonym:

s1 = ½*a*t^2

Drugi sposób:

s2 = subs s,{a,t0,v0,s0},{4,0,0,0}

Otrzymujemy wzór na drogę: s2=2*t^2
Metoda 2: Obliczenia symboliczne z dwukrotnym wykorzystaniem funkcji całkowania int:

% Obliczenie drogi

syms

syms

syms

syms a v0 t0 t s0

v = v0 + int

int

int

int a, t, t0, t

s = s0 + int

int

int

int v, t, t0, t

Zadanie

Po podstawieniu dowolnych konkretnych wartości t0, s0, v0 i a narysować wykresy v(t) i s(t) korzystając z

poznanej funkcji ezplot o postaci:

ezplot(f) - zakres zmiennej niezależnej domyślny,
ezplot

f,[min,max] – z ustalonym przedziałem zmiennej niezależnej.

Rozwiązywanie symboliczne układu równań przy użyciu funkcji solve

Funkcja solve ma następującą składnię:

solve

solve

solve

solve 'równanie1', 'równanie2',…, 'rownanieN', 'zmienna1', 'zmienna2',…, 'zmiennaN'

Ćwiczenie

Obliczyć symbolicznie przyśpieszenie z równania: v=v0+a*(t-t0)

Metoda obliczeń w Matlab-ie:

syms

syms

syms

syms a t0 v0 t v

background image

3

% obliczenie wzoru symbolicznego na niewiadomą a

a = solve

solve

solve

solve('v = a*(t-t0)+v0','a')

% podstawienie danych liczbowych pod zmienne symboliczne

v0=0; t0=0; t=5; v=20;

% podstawienie danych liczbowych do wzoru

a1=subs

subs

subs

subs(a)

Wynik obliczeń:

a =

(-v+v0)/(-t+t0)

a1 =

4

Ćwiczenie

Znaleźć symboliczne równanie paraboli przechodzącej przez 3 punkty, która ma miejsca zerowe na końcach

przedziału (0,a), zaś w połowie przedziału przyjmuje wartość 1.

Korzystamy z tego, że parabola jest wykresem równania kwadratowego i z rozkładu równania kwadratowego

na czynniki:

Ax

2

+Bx+C=A(x-x

1

)(x-x

2

)

gdzie x

1

,x

2

są pierwiastkami równania

Ponieważ

x

1

=0, x

2

=a (pierwiastki naszego równania kwadratowego)

w naszym przypadku równanie paraboli przyjmie postać:

f

(x)=A*x*(x-a)

W połowie przedziału x=a/2

Z warunków zadania wynika, że

f

(a/2)=1, czyli otrzymujemy równanie z jedną niewiadomą A:

A*a/2*(a/2-a)=1

Rozwiązujemy go symbolicznie przy pomocy funkcji solve

A=solve

solve

solve

solve('A*a/2*(a/2-a)=1', 'A')

Metoda obliczeń w Matlab-ie:

syms

syms

syms

syms

A

a

x

A=solve

solve

solve

solve(

'A*a/2*(a/2-a)=1'

,

'A'

)

Zadanie

a)

Utworzyć wykres powyższej paraboli.

b)

Założyć a=6. Rozwiązać powyższe zadanie przy pomocy aproksymacji wielomianem 2-go stopnia.

Ćwiczenie

1.

Obliczyć symbolicznie tor punktu materialnego poruszającego z prędkością początkową v

0

pod kątem

do poziomu pod wpływem siły ciężkości mg bez uwzględnienia oporu powietrza oraz prędkość i

przyśpieszenie punktu materialnego. Tor punktu jest określony równaniami:

I

J

I

= 0,

J

(0) = cos ∝ ,

J(0) = 0

I

K

I

= −M,

K

(0) = sin ∝ ,

K(0) = 0

Droga punktu materialnego jest określona wzorem :

2 = N OP

QR

Q

S

I

+ P

QT

Q

S

I

,

prędkość wzorem :

=

QU
Q

,

zaś przyśpieszenie wzorem:

=

QV

Q

.

background image

4

Rozwiązanie w Matlabie:

clear

syms

a

t0

t

v0

v

g

alfa0

x1 = dsolve(

'D2x = 0'

,

'Dx(0) = v0*cos(alfa0)'

,

'x(0)=0'

,

't'

)

y1 = dsolve(

'D2y = -g'

,

'Dy(0) = v0*sin(alfa0)'

,

'y(0)=0'

,

't'

)

alfa0=pi/4;

v0=1;

g=9.81;

%-------------------------położenie y(x)

%wstawienie danych do wzorów

xu1=subs(x1)

yu1=subs(y1)

%macierze dla punktów czasu

t=0:0.01:3;

xp1=subs(xu1)

yp1=subs(yu1)

subplot(3,1,1)

plot(xp1,yp1)

title(

'Położenie y(x)'

)

%---------------------------składowe prędkości vx(t) i vy(t)

syms

t

vx=diff(xu1)

vy=diff(yu1)

t=0:0.01:3;

vx=subs(vx)

%wstawienie danych

vx1=ones(1,length(t))*vx;

%bo nie zależy od czasu- ones

ones

ones

ones to macierz jedynek

vy1=subs(vy);

%macierz dla punktów czasu

subplot(3,1,2)

plot(t,vx1,t,vy1)

title(

'Składowe prędkosci vx(t) vy(t)'

)

% ----------------------------------wyznaczenie s(t)

syms

t

s=int

int

int

int(sqrt(diff

diff

diff

diff(xu1,t)^2+diff

diff

diff

diff(yu1,t)^2),t,0,t) %całka oznaczona

t=0:0.01:2;

st=subs

subs

subs

subs(s);

subplot(3,1,3)

plot(t,st)

title('s(t)')

Poniżej otrzymane wykresy:

background image

5

Zadanie

Korzystając ze wzoru

_ =

`a + bcd

cef

g

h

i

ce

obliczyć długość krzywej funkcji sin(x) w przedziale [0,

π

]

Zadania dodatkowe do samodzielnej analizy

1.

Obliczyć masę zaspy śniegu na dachu o powierzchni prostokątnej o wymiarach 10m×20m, która w

środku dachu ma wysokość h=0,5 m.

Przyjąć, że przekroje poprzeczne i podłużne zaspy mają kształt paraboliczny.

Masa właściwa śniegu waha się od 0,2 do 0,9 masy właściwej wody.

Przyjąć, że powierzchnia zaspy wyraża się wzorem:

z x,y =h*p x *q y

gdzie p(x), q(y) są parabolami o wartościach 0 na brzegu dachu i wartości 1 w środku przekroju., zaś h jest

wysokością zaspy na środku dachu.

Rozwiązanie:

clear

figure 1

%parabole

fplot

'4* 5+x .* 5-x /10^2'

,[-5 5]

hold

on

fplot

'4* 10+x .* 10-x /20^2'

,[-10 10]

0

5

10

15

-6

-4

-2

0

2

4

Poło

ż

enie y(x)

0

0.5

1

1.5

2

-15

-10

-5

0

5

10

Składowe pr

ę

dkosci vx(t) vy(t)

0

0.5

1

1.5

2

0

5

10

15

20

s(t)

background image

6

a=10

b=20

h=0.5

figure(2)

[x,y]=meshgrid(-a/2:0.5:a/2, -b/2:0.5:b/2);

z = 16*h.*(a/2+x).*(a/2-x)/a^2.*(b/2+y).*(b/2-y)/b^2;

mesh(x,y,z)

%wykres 3D zaspy

syms

y

x

h

a

b

z = 16*h.*x.*(a-x)/a^2.*y.*(b-y)/b^2;

p=int(int(z,x,0,a),y,0,b)

%całka podwójna

Mmax=0.9*p

% masa w tonach!!!


Wyszukiwarka

Podobne podstrony:
Cw06 S
Cw06
C16 2005 cw06
Cw06
Cw06 Excel2007 3
ELEKTRONIKA cw06 id 158837 Nieznany
ćw06 Ocena towaroznawcza ziarna, Akademia Morska Szczecin Nawigacja, uczelnia, AM, AM, nie kasować t
Cw06
LF E CW06(1)
24) TSiP 2010 11 ćw06
instrukcja cw06
Badanie zderzeń ku sprężystych, Studia, Pracownie, I pracownia, 6 Badanie zderzeń kul sprężystych, C
ćw06 Mieszaniny buforowe2, Szkoła, penek, Przedmioty, Chemia, Laboratoria
Cw06 S
Lab MG Cw06 Instrukcja st stac
ELEKTRONIKA cw06
cw06
cw06

więcej podobnych podstron