Error using double Conversion to double from cell is not possible.
显示 更早的评论
Hi, Im facing this problem can some one help? I want to store multiple elements of matrix 'Rulebase' to 'a'
Rulebase = { 'OutNB' 'OutNB' 'OutNB' 'OutNM' 'OutNS' 'OutNS' 'OutZ';
'OutNB' 'OutNM' 'OutNM' 'OutNM' 'OutNS' 'OutZ ' 'OutPS';
'OutNB' 'OutNM' 'OutNS' 'OutNS' 'OutZ' 'OutPS' 'OutPM';
'OutNB' 'OutNM' 'OutNS' 'OutZ ' 'OutPS' 'OutPM' 'OutPB';
'OutNM' 'OutNS' 'OutZ' 'OutPS' 'OutPS' 'OutPM' 'OutPB';
'OutNS' 'OutZ' 'OutPS' 'OutPM' 'OutPM' 'OutPM' 'OutPB';
'OutZ' 'OutPS' 'OutPS' 'OutPM' 'OutPB' 'OutPB' 'OutPB'};
a=zeros(1,7);
a(1,1)=Rulebase(2,3);
a(1,2)=Rulebase(2,4);
.
.
.
..
Output = a;
Where Output should be like.. OutNB OutNS OutZ..... and want to access 'Output' later for other purpose (Character Comparison).Please Help
采纳的回答
更多回答(1 个)
KSSV
2016-11-10
You can extra
ct the required string from the cell array using:
clc; clear all ;
Rulebase = { 'OutNB' 'OutNB' 'OutNB' 'OutNM' 'OutNS' 'OutNS' 'OutZ';
'OutNB' 'OutNM' 'OutNM' 'OutNM' 'OutNS' 'OutZ ' 'OutPS';
'OutNB' 'OutNM' 'OutNS' 'OutNS' 'OutZ' 'OutPS' 'OutPM';
'OutNB' 'OutNM' 'OutNS' 'OutZ ' 'OutPS' 'OutPM' 'OutPB';
'OutNM' 'OutNS' 'OutZ' 'OutPS' 'OutPS' 'OutPM' 'OutPB';
'OutNS' 'OutZ' 'OutPS' 'OutPM' 'OutPM' 'OutPM' 'OutPB';
'OutZ' 'OutPS' 'OutPS' 'OutPM' 'OutPB' 'OutPB' 'OutPB'};
%
idx = strfind(Rulebase(:), 'OutNB');
idx = find(not(cellfun('isempty', idx)));
Rulebase(idx)
2 个评论
Guillaume
2016-11-10
Why not simply
Rulebase(strcmp(RuleBase, 'OutNB')) %for full match
or
Rulebase(contains(RuleBase, 'OutN')) %for partial match
Sarit Hati
2016-11-11
类别
在 帮助中心 和 File Exchange 中查找有关 Modulation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!