Function for angle to output 1 or 0

I'm trying to write a funciton that has two outputs, 1 or 0. Based on the angle if its between 0 and 34 degrees its = 0. Then if it's between 34 and 68 = 1. That repeats itself 360 degrees. If anyone can help with the code for the fucntion it would be great! Currently I had:
function Thet = Theta (A)
returnValue = 1;
if mod(A, 68)~= 0
returnValue = 0;
end
Thet = returnValue;
end

 采纳的回答

Theta = @(x) 0*(x>=0 & x<34) + 1*(x>=34 & x<=68)

3 个评论

I don't see the pattern repeating all the way out to 360:
Theta = @(x) 0*(x>=0 & x<34) + 1*(x>=34 & x<=68)
angle = 0 : 360
out = Theta(angle)
Ok should have included that as well:
x = 394; % for example
Wanted = Theta(x)
function Thet = Theta(x)
x = mod(x, 360);
Thet = 0*(x>=0 & x<34) + 1*(x>=34 & x<=68);
end
Thank you for the response! The output is working for the first 0-68 but anything past that only outputs 0.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Powertrain Blockset 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by