Why does the code return an additional answer value that I have not asked for?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
First I defined a function:
function [p,q] = quadratic_formula(a, b, c)
p = (-b + sqrt((b)^2-4*a*c))/(2*a)
q = (-b - sqrt((b)^2-4*a*c))/(2*a)
end
After that I called the fuction with varying values. Every time it returns an answer value that I haven't asked for. For example,
quadratic_formula(5, 8, 3)
returns following:
p =
-0.6000
q =
-1
ans =
-0.6000
I don't want this answer value. Why does it return that equal to the value of 'p'?
0 Commenti
Risposte (2)
Davide Masiello
il 20 Ott 2022
Modificato: Davide Masiello
il 20 Ott 2022
That is because you call the function without assigning it to a variable.
Therefore Matlab assigns it to a variable called ans, which can accept only one value, i.e. the first one (or p in your case).
So, the first 2 values that appear are printed from within the function (because you didn't use semicolons).
Then it also shows ans because you also call the function without semicolons.
A better way of doing this in Matlab is
[p,q] = quadratic_formula(5, 8, 3)
function [p,q] = quadratic_formula(a, b, c)
p = (-b + sqrt((b)^2-4*a*c))/(2*a);
q = (-b - sqrt((b)^2-4*a*c))/(2*a);
end
0 Commenti
Karen Yadira Lliguin León
il 20 Ott 2022
you need to put ';' at the end of the line to stop . Change these lines
p = (-b + sqrt((b)^2-4*a*c))/(2*a);
q = (-b - sqrt((b)^2-4*a*c))/(2*a);
0 Commenti
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!