Si progetti una pista da moto-cross con la forma data:
a,b
b,c,d
Si progetti una pista da moto-cross con la forma data:
a,b,c,d
hanno coordinate x,y
noted
deve essere di 45°b
Si considerino i seguenti problemi:
x
NOTA: questo esercizio è mediamente facile...
fβ(x),gβ(x)
fβ(xa)=yafβ(xb)=ybf′β(xb)=g′β(xb)gβ(xb)=ybgβ(xc)=ycgβ(xd)=ydg′β(xd)=1
È un sistema con 7 equazioni, quindi ci vogliono 7 coefficienti
gβ(x)
è coinvolta singolarmente in 4 equazioni, quindi ng=3
nf=2
NOTA: una equazione coinvolge sia fβ(x)
che gβ(x)
Le due funzioni fβ(x),gβ(x)
sono date da:
fβ(x)=β1x2+β2x1+β3f′β(x)=2β1x+β2gβ(x)=β4x3+β5x2+β6x+β7g′β(x)=3β4x2+2β5x+β6
β
: si può utilizzare (e.g.) la riduzione di GaussNOTA: di seguito, i parametri β
verranno omessi nella notazione
Per rispondere al quesito due è sufficiente integrare le due funzioni:
QA
e QB
le aree sotto le curve A e BQA=∫xbxaf(x)dxQB=∫xdxbg(x)dx
Q=QA+QB
Per rispondere a Q3, vanno confrontati i minimi delle due curve
La prima curva ha un unico punto stazionario:
f′(x)=2β1x+β2=0
x∗A=−12β2β1
La seconda curva ha due punti stazionari
g′(x)=3β4x2+2β5x+β6=0
Si può risolvere per via analitica o numerica
xc
e xd
xc,xd
come estremi iniziali per il metodoLa forza di attrito aerodinamico è data da:
F=12ρv2CDA
Dove:
ρ
è la densità del fluido in cui ci si muovev
è la velocitàCD
è un coefficiente di attritoA
è l'area frontaleSono stati fatti n
esperimenti su un ciclista professionista:
vi
è stata misurata la forza di attrito Fi
Durante una gara, sono state fatte m
misurazioni ad intervalli di 5s
wk
...xk
NOTA: quando la velocità è alta, ovviamente si fa più strada
Si considerino i seguenti problemi:
CDA
per il ciclista?ρ
sia notaCDA
...Δx=wkΔt
NOTA: questo esercizio è un po' particolare e non facile
Per rispondere a Q1 possiamo usare il metodo dei minimi quadrati
α
il prodotto CDA
. La funzione approssimante è:fα(v)=12ρv2α
Φ
:Φ=(12ρv2112ρv22⋮)
α
risolvendo ΦTΦα=ΦTF
Per rispondere a Q2, dobbiamo:
La forza necessaria per avanzare deve bilanciare quella di attrito
k
associamo una forza:Fk=12ρw2kα
α
è valore determinato per Q1F
...x
Il lavoro è così data dall'integrale della forza sullo spostamento
F
e x
...E=m−1∑k=112(xk+1−xk)(Fk+1+Fk)
Per rispondere a Q3, occorre simulare gli effetti della modifica di α
Fk
di Q2)w′k
) risolvendo:Fk=12ρw′k2910α
w′k=√21ρ109αFk
Con l'ipotesi di velocità costante, possiamo ricalcolare gli spostamenti
k
(lungo 5 secondi)...Δx=(xk+1−xk)=w′kΔt=5w′k
E′=m−1∑k=1125w′k(Fk+1+Fk)
Un palla di gomma è posta su un percorso con salite e discese
ϕA(x)=α1x2+α2x+α3ϕB(x)=β1x3+β2x2+β3x+β4
Un palla di gomma è posta su un percorso con salite e discese
xa
al punto xb
xb
al punto xc
Un palla di gomma è posta su un percorso con salite e discese
xa
M
notaSi considerino i seguenti problemi:
Fr
nella direzione della tangente...NOTE:
Le equazioni delle due curve sono note, quindi;
x
della posizione della palla è nota...y
si può calcolare facilmente:y=ϕ(x)={ϕA(x) se x≤xbϕB(x) altrimenti
Quindi ci basta determinare l'andamento di x
x
e la velocità tangenziale v
˙x=v1√1+ϕ′(x)2˙v=−gϕ′(x)√1+ϕ′(x)2con: ϕ′(x)={ϕ′A(x) se x≤xbϕ′B(x) altrimenti
˙x
è dato dalla proiezione sull'asse x
della velocità tangenziale˙v
è dato dalla proiezione sulla tangente di g
Di fatto, si tratta della EDO che abbiamo visto diverse volte a lezione
Può essere risolta per esempio con il metodo di Eulero
t
di istanti di tempo tk
...x(tk)
e v(tk)
Il vettore x(tk)
risponde a Q1
Per rispondere a Q2 dobbiamo incorporare Fr
nella EDO:
˙x=v1√1+ϕ′(x)2˙v=−gϕ′(x)√1+ϕ′(x)2−1MˆFrcon: ˆFr={Fr se v>0−Fr se v<00 altrimenti
ϕ′(x)
è definito come nel caso precedenteL'EDO si può risolvere di nuovo con il metodo di Eulero
x(tk)
e v(tk)
A questo punto, sfruttando l'interpolazione lineare di x(tk)
e v(tk)
:
t∗
tale che:v(t∗)≃0
, i.e. la velocità è nulla˙v(t∗)≃0
, i.e. l'accelerazione è nulla˙v(t∗)
si può calcolare con l'espressione usata per l'EDOx(t∗)
risponde a Q2L=∫x(t∗)xa√1+ϕ′(x)2dx
Purtroppo però la palla può anche tornare indietro
Come tenerne conto?
Una possibile soluzione: sfruttiamo il vettore x(tk)
x(tk)
a x(tk+1)
...√(x(tk+1)−x(tk))2+(y(tk+1)−y(tk))2
y(tk)=ϕ(x(tk))
Quindi la strada percorsa è data da:
L=n−1∑k=1√(x(tk+1)−x(tk))2+(y(tk+1)−y(tk))2
n
è il numero di elementi nel vettore t
Si consideri lo script seguente:
function y = f(x)
t = x(end:-1:1);
y = x + t;
end
x = f([1, 2, 3, 4])
t = (x == 5)
function y = f(x)
t = x(end:-1:1); % t è x, in ordine invertito
y = x + t;
end
% f([1,2,4,4]) restituisce [1,2,4,4] + [4,4,2,1]
% Quindi viene stampato: [5, 6, 6, 5]
x = f([1, 2, 4, 4])
% (x == 5) restituisce un vettore, che contiene il valore
% per le posizioni in x che soddisfano l'uguaglianza
% Quindi viene stampato: [1, 0, 0, 1]
t = (x == 5)
Si consideri lo script seguente:
function y = f(x, v)
t = x(x <= v);
y = sum(t);
end
M = [1, 2, 1, 3, 1, 3];
f(M, 1)
f(M, 2)
function y = f(x, v)
% Se x = [1,2,1,3,1,3] e v è 2
% Allora (x <= v) è [1,1,1,0,1,0]
% E x(x <= v) è [1,2,1,1]
t = x(x <= v);
y = sum(t);
end
M = [1, 2, 1, 3, 1, 3];
f(M, 1) % Stampa sum([1,1,1]), quindi 3
f(M, 2) % Stampa sum([1,2,1,1]), quindi 5
Si codifichi la funzione:
function x = midpoint(f, x0, t)
Che risolve una EDO con il metodo del punto intermedio
f
è una funzione che calcola la derivata dello stato corrente:function dx = f(x, t)
x
è lo stato (uno scalare), t
è l'istante di tempo correntex0
è il valore iniziale dello stato (uno scalare)t
è il vettore dei tempi per cui va determinato lo statoSi discuta brevemente il metodo
Il metodo del punto intermedio risolve una EDO in base all'iterazione:
x(k+1)=x(k)+(t(k+1)−t(k))f(x(k)m,t(k)m)con: t(k)m=12(t(k+1)+t(k))e: x(k)m=x(k)+(t(k+1)m−t(k))f(x(k),t(k))
t(k)m
è l'istante di tempo a metà tra t(k)
e t(k+1)
x(k)m
è il corrispondente valore dello statox(k)m
viene approssimato con il metodo di Eulerof(x(k)m,t(k)m)
è la derivata dello stato nel punto intermedioUna possibile codifica:
function x = midpoint(f, x0, t)
x(1) = x0;
for ii = 1:length(t)-1
tm = t(ii+1) + t(ii); % Punto intermedio
df = f(x(ii), t(ii)); % Derivata in t(ii)
% Ora ottengo lo stato nel punto intermedio
xm = x(ii) + (tm - t(ii)) .* df;
% Prossimo stato
dt = t(ii+1) - t(ii);
x(ii+1) = x(ii) + dt .* f(xm, tm);
end
end