Create a two variables function, including several law in MATLAB

1 Ansicht (letzte 30 Tage)
la
la am 18 Jun. 2015
Kommentiert: la am 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
Thank you in advance for your attention and answer

Akzeptierte Antwort

B.k Sumedha
B.k Sumedha am 18 Jun. 2015
  5 Kommentare
Stephen23
Stephen23 am 19 Jun. 2015
Bearbeitet: Stephen23 am 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
la am 19 Aug. 2015
Stephen Cobeldick
thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 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

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by