How do i turn a character array into a double cell

1 visualización (últimos 30 días)
Gianni Davies
Gianni Davies el 8 de Mayo de 2021
Editada: Walter Roberson el 8 de Mayo de 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'

Respuesta aceptada

Jonas
Jonas el 8 de Mayo de 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

Más respuestas (0)

Categorías

Más información sobre Cell Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by