Is it possible to form a matrix with strings and manipulate them?
1 次查看(过去 30 天)
显示 更早的评论
Harrison Kurunathan
2017-1-20
回答: Jorge Mario Guerra González
2017-1-20
Can I make a matrix like [(a,b), (c,d), (d,f) ; (t,a), (a,b), (g, a); (a,f),(c,d),(a,g) ] and then reorder the rows based on the maximum number of same strings (say a ) in the matrix? the answer will be [(t,a), (a,b), (g, a); (a,f),(c,d),(a,g) ; (a,b), (c,d), (d,f)]
2 个评论
James Tursa
2017-1-20
Please give an explicit example so we know for sure the data types you are working with and how they are stored in variables.
John Chilleri
2017-1-20
One method to store a matrix of strings is with cell. Otherwise, I second James, an explicit example would be useful!
采纳的回答
Jorge Mario Guerra González
2017-1-20
Try this, it's using cell arrays. However I believe that in the newest versions of matlab cell arrys that include Sting work in a different way.
m={['a','b'], ['c','d'], ['d','f'] ; ['t','a'], ['a','b'], ['g', 'a']; ['a','f'],['c','d'],['a','g']}
counter=zeros(size(m,1),1);
for i=1:size(m,1)
for j=1:size(m,2)
counter(i)=counter(i)+length(strfind(m{i,j},'a'));
end
end
[~,ind]=sort(counter,'descend');
result=m(ind,:)
hope it helps
0 个评论
更多回答(1 个)
Walter Roberson
2017-1-20
Matrices of strings require R2016b or later. Before that you need cell arrays of character vectors.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!