How do i turn a character array into a double cell

1 Ansicht (letzte 30 Tage)
Gianni Davies
Gianni Davies am 8 Mai 2021
clc;
clear;
I believe the issue is that I am I used listdlg to get a variable
This variable is saved in a character array
I want to use this character array to help get values for a double matrix (default array)
I dont know how to do that
The important lines are
A = [10,10]
%embedded for statement to get information on each space
for k = 1:1:A(10,2)
list = {'Resident','Education','Office','Toilet','Storage'};
[indx,tf] = listdlg('PromptString',sprintf('On Floor %d what spaces are used ')...
,'SelectionMode','single','ListString',list);
typeofspace = list{indx};
%if statement to get exact details for all spaces (height,co ordinate
%etc....)
if typeofspace == 'Resident'
r=r+1;
A(1,3)=r;
elseif typeofspace == 'Education'
e=e+1;
A(1,4)=e;
else
end
Error message
Matrix dimensions must agree.
Error in CourseWorkMain (line 44)
if typeofspace == 'Resident'

Akzeptierte Antwort

Jonas
Jonas am 8 Mai 2021
i think your actual problem is the way you check character arrays. for thise you have to use strcmp(chararray1,chararray2) instead of chararray1==chararray2. the second expression checks equality for each character and to do that the arrays have to be same length (your error here i think). checking with == will give you one logical exprrssion for each character. but nornally you want just to know if two arrays are the same as whole or not, using strcmp() will give you one logical result

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by