Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
how i can save the value of two signals when they are equal
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
i want to save the value of these two signals when they have an equal value in each period
i wrote this code but it's not true
a = zeros(1,14);
if signal_1 == signal_2
a(b) = signal_1
b = b+1;
end
b=mod(b,14);
code needs to define the value of "b" and if i define that it cant continues to 14
2 comentarios
Raj
el 19 de Abr. de 2019
Your 'if' condition logic will not serve the purpose. Depending on the first value of the signals, either the execution will not enter this condition or will enter and exit with only one match. Do you have the equations/workspace variables for signal_1 and signal_2?
Respuestas (3)
Walter Roberson
el 19 de Abr. de 2019
Editada: Walter Roberson
el 19 de Abr. de 2019
N = 14;
a = zeros(1, N);
b = 1;
for K = 1 : length(signal_1)
if signal_1(K) == signal_2(K)
a(b) = signal_1(K);
b = mod(b, N) + 1;
end
end
I know that mod(b,N)+1 might look wrong, but it is correct. b = 1 is sent to 2, b = 2 is sent to 3, ... b = 13 is sent to 14, b = 14 then mod(b,14) is 0 and then you add 1 to that giving 1, so b = 14 is sent to 1.
2 comentarios
Walter Roberson
el 19 de Abr. de 2019
I have to guess about meaningful outputs of this.
function a_copy = fcn(signal_1, signal_2)
N = 14;
persistent a b
if isempty(a) || isempty(b)
a = zeros(1, N);
b = 1;
end
if signal_1 == signal_2
a(b) = signal_1;
b = mod(b,N) + 1;
end
a_copy = a;
esmaeil keyvanloo
el 19 de Abr. de 2019
1 comentario
Walter Roberson
el 19 de Abr. de 2019
You could try adding
if isempty(b)
b = 1;
end
esmaeil keyvanloo
el 19 de Abr. de 2019
1 comentario
Walter Roberson
el 19 de Abr. de 2019
Perhaps you could use a global block to store a and b
Or make them signals that are given initial values and which feed back into the block. Just make sure that you have a unit delay block so you do not accidentally create an algebraic loop.
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!