Applying limits in matlab

I have created a transfer function describing the movement of a piston in a cylinder. The piston can only move a max distance of 400mm. My mathematical model for the cylinder piston Q(s)=AsX(s) were Q is flow rate A is piston area and X is displacement, hence transfer function is X(s)/Q(s)=1/As (in matlab num=1, den=10 (when A is 10) function=tf(num, den). For step input step (function) gives a straight line inclined to the right. How do I tell matlab that the max displacement is 400mm so when the line gets to this limit it becomes flat?
I also need to apply PID tuning to this function, can anyone help with this?

 Réponse acceptée

Matt Fig
Matt Fig le 3 Avr 2011

0 votes

Displacement = min(400,X);
For example:
X = [1:20:800];
plot(min(X,400));
ylim([0 800])

1 commentaire

Tim
Tim le 3 Avr 2011
Do I add this line after function=tf(num, den)before doing the step input? Sorry for asking these type of questions, but first time using matlab.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by