How can I fix my function?

3 Ansichten (letzte 30 Tage)
Matlab Student
Matlab Student am 19 Sep. 2021
Kommentiert: Walter Roberson am 22 Sep. 2021
Hi, I'm new to Matlab and have a lot of difficulty understanding how to properly write functions. I need to write a function ispythag that will recieve three positive integers (a,b,c) that will return a logical 1 if they form a pythagorean triple, or logical 0 if they don't. I also cannot use if or select statements.This is the code I have written but I always get an error saying unrecognized function or variable 'a', however when I write a script using this code and write "ispythag(1,2,3)" or "ispythag(3,4,5)" in the command prompt, I get the logical answers I need. After several attempts at changing my code without success, I was hoping someone might be able to lend me some guidance. Thank you very much for your time and help!
Ptriple = ispythag(a,b,c)
Ptriple = a^2+b^2 == c^2;
ispythag(1,2,3)
ispythag(3,4,5)
  1 Kommentar
Cris LaPierre
Cris LaPierre am 20 Sep. 2021
You have not property declared your function. See this page for help with that. It also contains some working examples that you can modify to get your function started.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Wan Ji
Wan Ji am 20 Sep. 2021
Hey, friend
Just try the inline function
ispythag = @(a,b,c)a.^2+b.^2 == c.^2;
a = ispythag(1,2,3)
b = ispythag(3,4,5)
Then you will obtain the result
a =
logical
0
b =
logical
1
  2 Kommentare
Matlab Student
Matlab Student am 22 Sep. 2021
Thank you ver much for your help. Just a quick follow up question, why do i need to include the '@' in the function?
Walter Roberson
Walter Roberson am 22 Sep. 2021
The correct term for this in MATLAB is "anonymous function". It is documented at https://www.mathworks.com/help/matlab/matlab_prog/anonymous-functions.html
MATLAB does have "inline" functions as well, which are not recommended; they are an older technology that has a number of drawbacks compared to anonymous functions.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Function Creation finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by