Create a two variables function, including several law in MATLAB

1 visualización (últimos 30 días)
la
la el 18 de Jun. de 2015
Comentada: la el 19 de Ag. de 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

Respuesta aceptada

B.k Sumedha
B.k Sumedha el 18 de Jun. de 2015
  5 comentarios
Stephen23
Stephen23 el 19 de Jun. de 2015
Editada: Stephen23 el 19 de Jun. de 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 el 19 de Ag. de 2015
Stephen Cobeldick
thanks

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 19 de Jun. de 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

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by