How do i find a difference equation?

I have this first order differential equation given:
i need to find a difference equation using MATLAB. I would appreciate if someone could help me with that. Thanks

2 Kommentare

Wayne King
Wayne King am 24 Jan. 2013
what is u(t) here? is that the step function?
LeBron
LeBron am 24 Jan. 2013
its the input

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 24 Jan. 2013

1 Stimme

Choose your sample time Te
Te=0.1 % Your sample time
N=1.5
D=[1 -0.5]
Modelc=tf(N,D) % Your continue transfer function
Modeld=c2d(Modelc,Te) % Your discrete transfer function
[Nd,Dd]=tfdata(Modeld,'v');
% From Y(z)/U(z)=Nd(z)/Dd(z) you can find the relation between y{n] and u[n]

10 Kommentare

LeBron
LeBron am 24 Jan. 2013
I am kinda confused i need to get the answer in this form: y(n+1)=1.05 y(n) + 0.15 u(n) as in previous question this is what i calculated without using Matlab
Azzi Abdelmalek
Azzi Abdelmalek am 24 Jan. 2013
No, when you discretize a continuous system you have to take in account the two blocks ADC and DAC. If H(p) is the transfer function of your continuous system then, if you discretize, using a zoh method: the discrete transfer function G(z) will be
G(z)=(z/(z-1))*Ztransform(inverse_transform(H(p)/p))
LeBron
LeBron am 24 Jan. 2013
Bearbeitet: LeBron am 24 Jan. 2013
It would be better if you tell me exactly what to type in matlab so i should type everything u have told me in first post plus this last thing G(z)=(z/(z-1))*Ztransform(inverse_transform(H(p)/p))
then i should get my final answer?
Azzi Abdelmalek
Azzi Abdelmalek am 24 Jan. 2013
LeBron, I gave you the code which allows to find your discrete transfer function G(z). Do you know how to find the difference equation from G(z)? Other thing
G(z)=(z/(z-1))*Ztransform(inverse_transform(H(p)/p))
is not a code, it's what the above code is doing
Roger Stafford
Roger Stafford am 24 Jan. 2013
Bearbeitet: Azzi Abdelmalek am 25 Jan. 2013
I would advise you to look at the article
It gives an explanation of various Runga-Kutta methods of approximating the solution to ordinary differential equations of the kind you have. The discussion of RK4 shows you one method which is a fourth order approximation wherein it is assumed you can sample your u(t) at every h/2 interval with a step size of h in t. The f(t,y) they describe would be
f(t,y) = 1.5*u(t)+.5*y
in your case, and the corresponding difference equations are given there.
The article also describes other possible kinds of difference equations that one can use with differing amounts of accuracy.
Azzi Abdelmalek
Azzi Abdelmalek am 25 Jan. 2013
Bearbeitet: Azzi Abdelmalek am 25 Jan. 2013
He is asking for a difference equation, not a numeric resolution.
LeBron
LeBron am 25 Jan. 2013
Azzi, No, I dont know how to find the difference equation from G(z). Thanks
For example
1 Y(z)
G(z)=----- = ------
z + 2 U(z)
Then
Y(z)(z+2)=U(z)
zY(z)+2Y(z)=U(z)
y[n+1]+2y[n]=u[n]
Roger Stafford
Roger Stafford am 25 Jan. 2013
Azzi, the Runga-Kutta method does give a set of difference equations, in fact a very respectable set indeed.
LeBron
LeBron am 25 Jan. 2013
Bearbeitet: LeBron am 25 Jan. 2013
Hey Azzi thank you so much for all your help. I really appreciate it. People like you make this forum a great place.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by