How do we write a code for a periodic intermittent scalar function?

I would like to write a code of an periodic intermittent bounded control. I've tried to write it as a piecewise function but its not giving me type of output I want. Can someone help please? This what I have written
K = 0:0.01:1;
Pk =[];
m = 4; h = 0.1; T = 0.05;
for k = 1:length(K)
if (K(k) >= m*T & K(k) < m*T + h)
pk = 4;
elseif (K(k) >= m*T + h & K(k) < (m+1)*T)
pk = 0;
end
Pk = [Pk pk];
end

4 commentaires

you need to explain what result you are expecting and why do you think the above code is wrong
Eric Mwanandiye
Eric Mwanandiye le 9 Nov 2018
Modifié(e) : Eric Mwanandiye le 9 Nov 2018
This what it is giving me.
However, I want something like this
And what do you expect instead?

Connectez-vous pour commenter.

 Réponse acceptée

Here is what I wanted. I've solved it.
clear all; close all; clc;
N = 0.2;
h = 0.5;
n= 0:25;
t = 0:0.001:5;
for i = 1:length(n)
for j = 1:length(t)
if (t(j) >= n(i)*N)&(t(j) < (n(i) + h)*N)
k(j) = 2;
elseif (t(j) >= (n(i) + h)*N)&(t(j) < (n(i) + 1)*N)
k(j) = 0;
end
end
end
plot(t,k,'linewidth',2)
axis([0 5 0 2.5]);

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements 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