Why do my functions suddenly return values in ASCII code?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Winter Vee
il 21 Giu 2022
Commentato: Steven Lord
il 21 Giu 2022
I have made simple functions in MatLab. For example:
function add(a,b)
fprintf('%d + %d = %d\n',a,b,a+b);
end
This used to work. However, using MatLab again after a while, this same function now returns values in ASCII code. Basically, given the inputs "4" and "5",
Before:
4 + 5 = 9
Now:
52 + 53 = 105
I don't remember doing anything that would cause this change. Simply typing "4 + 5" in the command window returns 9, but the problem arises when I make functions. Advice would be appreciated. (Version: R2022a)
4 Commenti
Stephen23
il 21 Giu 2022
"but I just want to fix the formatting if that makes sense."
Changing the formatting cannot "fix" the fact that you call the function with incorrect inputs.
Risposta accettata
Walter Roberson
il 21 Giu 2022
You accidentally used "command function equivalence". When you name a function without using () then the arguments you input are passed to the function as character vectors.
add 4 5
add(4, 5)
function add(a,b)
fprintf('%d + %d = %d\n',a,b,a+b);
end
2 Commenti
Steven Lord
il 21 Giu 2022
This also commonly happens in a standalone application. See the "Using a MATLAB File You Plan to Deploy" section on this documentation page.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Startup and Shutdown in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!