Implementing a step response within for loop environment?

4 vues (au cours des 30 derniers jours)
Juan Heredia
Juan Heredia le 24 Oct 2017
  • I'm currently working on a model that is being implemented in a for-loop environment (I know the feedback() function exists but I need to look at the signals as they loopback, and change parameters mid-loop).
  • In theory, a section of the model creates a step signal that goes into a simple transfer function and continues to the rest of the model. But I'm having a hard time applying the transfer function, essentially on a per index basis.
I'm wondering if any of you have any tips or suggestions on how to proceed with this implementation. As an example, this is what the pseudo-code would look like for a sample of the model:
time = linspace(0,100,500);
for i = 1:length(time)
sig(i) = sin(2*pi*4e6*time(i) + Phase(i-1) );
% More code that uses sine wave to generate a step-like signal every now and then
% Would usually use 'lsim' to apply tf's, but doesn't work on a per-index basis in this case
StepResp(i) = tf * unitStep(i);
% More calculations
Phase(i) = .....;
end
Thank you in advance,
JH

Réponses (1)

Kuifeng
Kuifeng le 25 Oct 2017
How about trying to introduce heaviside(x) function in the sig calculation? If certain condition is met, then apply the additional step value.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by