# Create a two variables function, including several law in MATLAB

3 views (last 30 days)
la on 18 Jun 2015
Commented: la on 19 Aug 2015
Dear Mathworks team
Hello
Please guide me. I searched in the FAQ and the Internet, but could not find answer for my question.
I want to create a two variables function, including several law in MATLAB. Then, I want to import code into C#.(I need the output of this function for C#)
How can I create this function

B.k Sumedha on 18 Jun 2015
Stephen23 on 19 Jun 2015
Edited: Stephen23 on 19 Jun 2015
@la: there are multiple issue with the code that could be improved, and these would make the bug-fixing easier too:
• do not place close all and clc at the start of every function and script. Although beginners love doing this it is sloppy programming: this function has nothing to do with figures, so why close them inside it? Functionally unrelated and thus a poor design decision.
• remove unnecessary parentheses, as these only clutter the text and make it hard to read.
• learn about operator precedence to help remove unnecessary parentheses.
• do not repeat logical comparisons unnecessarily: perform them once!
• do not use chains of mutually-exclusive if statements when you can simply use elseif statements.
• learn to read the documentation. This will help you to discover that relational operators in MATLAB are binary operators, so the syntax A<x<B is not permitted, only A<x & x<B, exactly as Walter Roberson clearly explained in his answer too.
After all of that you might end up with a function like this (attached):
la on 19 Aug 2015
Stephen Cobeldick
thanks

### More Answers (1)

Walter Roberson on 19 Jun 2015
21<x2<=27 is parsed as
((21<x2)<=27)
In the first step, 21<x2 returns a logical value, 0 or 1. In the second step, that 0 or 1 is compared <= 27. 0 and 1 are always <= 27 so the overall test would always be true.
If you want to test whether a value is in a range, write it as two tests:
21<x2 & x2 <= 27
la on 19 Jun 2015
Walter Roberson! Thanks a lot. :)