Info
此问题已关闭。 请重新打开它进行编辑或回答。
Best way to time different signals
2 次查看(过去 30 天)
显示 更早的评论
Hey everyone, I'm a beginner so pleace be forgiving ;-)
What is the best way to time different signals? Let's say, I have an output that should be constant 1000 as long as my value X*Y (fed back values) is smaller than Z. If the product becomes larger than Z, I want the product as my output. And after 3 seconds, the output should be 0. What would be the appropriate way to do this?
I have googled for quite some time now but I can't get it to work. I managed the first part but probably not in a way it should be done...
Appreciate any input! Thank you!
回答(1 个)
Christiaan
2015-6-3
Dear Mathias,
I hope this piece of code can help you on your way. You may have a look at it.
The only point where you would have to modify the code, is for the case the time step is smaller or larger then one.
clc;clear;close all
t = linspace(0,800,800);
dt = t(2)-t(1);
x = t;
y = sin(t/10);
treshold = 5;
for i=1:length(t)
xy(i) = x(i)*y(i);
if xy(i)>treshold
state(i)=1;
else
state(i) = 0;
end
if dt*i>10
if sum(state(i-2:i))==3
xy(i) = 0;
state(i)=0;
end
end
end
subplot(3,1,1);
plot(t,state);
subplot(3,1,2);
plot(t,x.*y)
subplot(3,1,3);
plot(t,xy)
grid on
Good luck! Christiaan
1 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!