How do i turn a character array into a double cell

1 回表示 (過去 30 日間)
Gianni Davies
Gianni Davies 2021 年 5 月 8 日
編集済み: Walter Roberson 2021 年 5 月 8 日
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'

採用された回答

Jonas
Jonas 2021 年 5 月 8 日
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
  1 件のコメント
Gianni Davies
Gianni Davies 2021 年 5 月 8 日
Cheers this works thanks for spotting this issue for me

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by