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 Exchange で Programming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by