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

1 件のコメント

Rena Berman
Rena Berman 2020 年 7 月 22 日
(Answers Dev) Restored edit

サインインしてコメントする。

 採用された回答

madhan ravi
madhan ravi 2020 年 7 月 14 日

0 投票

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

3 件のコメント

Image Analyst
Image Analyst 2020 年 7 月 14 日
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)
madhan ravi
madhan ravi 2020 年 7 月 14 日
編集済み: madhan ravi 2020 年 7 月 14 日
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
Kyle Grimaldi
Kyle Grimaldi 2020 年 7 月 14 日
Thank you for the response! The output is working for the first 0-68 but anything past that only outputs 0.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangePowertrain Blockset についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by