GUI and user-defined function
Show older comments
Can anyone know what is the problem?

This is the the user-defined function.

This is the GUI. And when I run it, there are errors:

Answers (1)
Mario Malic
on 6 Sep 2020
Define your result as an empty array first. This may resolve your issues, depending on the rest of the code
result = [];
4 Comments
Rik
on 6 Sep 2020
This will probably solve the error, but move the problem to a later stage.
I suspect it is caused by the degree symbol. Using more complex characters like that is not the best plan, as they run the risk of being mangled.
Anyway, this function should be rewritten with switch and case. At the end an otherwise should ensure a comprehensible error is thrown.
Mario Malic
on 6 Sep 2020
Edited: Mario Malic
on 6 Sep 2020
I definately agree with the switch, case, and otherwise, as I have never used elseif statement (in my year and a half of MATLAB).
For these complex characters, it's the dropdown menu so, if done correctly, should be okay.
Actually, the issue might be that Huy had switched input arguments, therefore it fails to evaluate the result.
convert(unit, input)
convert(value, direction)
Rik
on 6 Sep 2020
elseif can be easier to read. It also allows compound conditions, which can be hard or impossible to create with switch,case.
These characters need to be encoded correctly inside the mlapp file and in the m file. If you aren't using R2020a you really need to be careful about editing, as you need to make sure Matlab saves the file encoded with UTF-8, which it does by default in R2020a, but not before. Many people have lost their é characters in their comments and chars and getting them replaced with questionmarks.
Mario Malic
on 6 Sep 2020
Actually, I am one of those people! Thanks for the hint.
Categories
Find more on Performance and Memory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!