Resolving Matrix dimensions must agree

I am creating a unit converter app with app designer and I am having trouble with the following switch statement and getting the error - Matrix dimensions must agree.
The app should select between imperial and Metric conversion, and should swap units via a drop down box.
I tried using a switch case instead of an if/else statement but it also didn't recognise the case parameters.
The problem lies within my 'if' conditions, i.e. if app.DropDown.Value == char('Celsius to Fahrenheit') --- it either says Matrix dimensions must agree or it goes straight to my error message.
How do i get the code to read what units are in the drop down box and then run that code?

1 Kommentar

Stephen23
Stephen23 am 6 Mai 2021
Note that calling char on a character vector does nothing, it returns exactly the same char vector unchanged.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Stephen23
Stephen23 am 6 Mai 2021
Bearbeitet: Stephen23 am 6 Mai 2021

1 Stimme

Use strcmp or strcmpi to check if two text strings match or not:
if strcmp(A,B)
Alternatively you could use one switch statement:
switch app.DropDown.value
case 'Celcius to Farenheit'
..
case 'etcetera'
..
otherwise
error('Oh No, I don''t know what to do with this!')
end

1 Kommentar

Hannah Quirk
Hannah Quirk am 7 Mai 2021
I decided to use the if strcmp(A,B) format, and it worked!
Thank you for this.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 6 Mai 2021

Kommentiert:

am 7 Mai 2021

Community Treasure Hunt

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

Start Hunting!

Translated by