Rappresentazione Matlab

Clavdio1
Salve a tutti,
sto avendo qualche problema nello scrivere e rappresentare adeguatamente una funzione discontinua in matlab.
devo praticamente scrivere questo:

se (0+KTx)<= t<=(tx + KTx)
x(t)=Vx*(t-KTx)

altrimenti se (tx+KTx) x(t)=-Vx*(t-KTx) +2*L


ma il grafico che ottengo non è quello che sto cercando io.
qui di seguito vi posto il listato del codice:

function biliardo(med,var,L)
alpha=90*rand(1,1)
V=abs(normrnd(med,var,1,1))
A=cosd(alpha)
Vx=(V*A)
B=sind(alpha)
Vy=(V*B)
v=[Vx Vy]
tx=L/Vx
Tx=2*tx
ty=L/Vy
Ty=2*ty

for t=1:1:200
Kx(t)=fix(t/Tx)
Passo(t)=(t-(Kx(t)*Tx))
if 0<=Passo(t)<=tx
x(t)=Vx*(Passo(t))
elseif tx x(t)=2*L-Vx*(Passo(t))
end
end
plot(x)
end

(med=1,var=0.02,L=20)

dovrei ottenere delle X comprese tra 0 e 20 che crescono nel primo intervallo da 0 sino a L e poi decrescono da tx a 2tx da L sino a 0....
Come dovrei fare???

Premetto che sono giunto al listato di cui sopra cercando di risolvere il seguente problema con il seguente ragionamento


Consideriamo nel piano una scatola di lato L (facciamo finta che sia un biliardo)
All'istante t=0 vengono lanciate N palline all'interno di questa scatola da
uno dei suoi vertici (scegliamo l'angolo in basso a sinistra)
di ogni pallina abbiamo il modulo della Velocità e l'angolo di uscita.
Le palline hanno velocità costante in modulo non possono urtare tra di loro e
non possono uscire dalla scatola, avranno urti elastici solo con le pareti.
Per le indagini statistiche che dovro' fare a me serve creare in matlab una
funzione che mi descriva la dinamica di queste palline in maniera tale da
sapere in ogni T dove si trova la mia pallina.

Ecco come ho pensato di risolverlo
Consideriamo per semplicità una sola pallina; questa pallina di velocità V e
angolo Alpha avra' una componente lungo X :Vx=Vcos(alpha) e una componente lungo
Y: Vy=Vsen(alpha)
Anche Vx e Vy si manterranno costanti in modulo , cio' che variera' sara' la
direzione che si invertira ogni qualvolta la pallina raggiungerà la parete piu'
lontana lungo x e/o lungo y.
Ora conoscendo Vx e Vy e conoscendo L della scatola sapro' con certezza in
quale istante di tempo cambia il verso della Vx e della Vy e questo tempo
sara': tx=L/Vx e ty=L/Vy
Inoltre la pallina per tornare al punto di partenza ci metterà 2tx e 2ty
rispettivamente per le componenti x y. Questi 2tx e 2ty saranno i periodi Tx e Ty
con cui il moto della mia particella si ripetera' lungo gli assi.

Se provassi a graficare l'andamento della X in funzione del tempo si dovrebbe vedere
come la nostra particella si muove da 0 a L in tx e da L a 0 nell'intervallo( tx
;2tx). formando un triangolo isoscele di base 2tx e altezza L.
Per l'andamento della Y in funzione del tempo accade la stessa cosa
praticamente.

Ora avremo quindi per la sola X una funzione Discontinua del tipo :
se (0+KTx)<= t<=(tx + KTx)
x(t)=Vx*(t-KTx) %
cioè se mi trovo al tempo t del primo tratto allora la X sara' crescente da 0 a
L %

altrimenti se (tx+KTx) x(t)=-Vx*(t-KTx) +2*L
K è l'intero per difetto del rapporto t/Tx (essendo periodico mi serve per sapere in che punto
calcolare il valore di X).

Credo che il ragionamento sia giusto.
Aspetto aiuti suggerimenti e quant'altro!
Grazie a tutti!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.