I'm trying to compare a cell array to a single vector.

I'm trying to compare each cell in the first column of an array and then I'm trying to slice the rest of the row, but it says I can't use '==' with cells, I already tried strcmpi(A,B) and that didn't work either. Finally I'm trying to put it in a new matrix as you can see.
DestinationData = {'ATL','DAL','FFT','JBU','SWA';...
'EWR','UAL','FFT','JBU','NKS';...
'PHL','AAL','FFT','JBU','SWA';...
'ORD','AAL','FFT','SWA','NKS';...
'CLT','AAL','FFT','NKS','III'}
Destionation = 'PHL'
Airlines = []
for col= 1:1:size(DestinationData,1)
if DestinationData(col,1) == Destination
Airlines = DestinationData(col, 2:end)
end
end

 采纳的回答

DestinationData = {'ATL','DAL','FFT','JBU','SWA';...
'EWR','UAL','FFT','JBU','NKS';...
'PHL','AAL','FFT','JBU','SWA';...
'ORD','AAL','FFT','SWA','NKS';...
'CLT','AAL','FFT','NKS','III'}
DestinationData = 5×5 cell array
{'ATL'} {'DAL'} {'FFT'} {'JBU'} {'SWA'} {'EWR'} {'UAL'} {'FFT'} {'JBU'} {'NKS'} {'PHL'} {'AAL'} {'FFT'} {'JBU'} {'SWA'} {'ORD'} {'AAL'} {'FFT'} {'SWA'} {'NKS'} {'CLT'} {'AAL'} {'FFT'} {'NKS'} {'III'}
Destination = 'PHL'
Destination = 'PHL'
strcmpi(Destination, DestinationData(:,1))
ans = 5×1 logical array
0 0 1 0 0

更多回答(1 个)

DestinationData = {'ATL','DAL','FFT','JBU','SWA';...
'EWR','UAL','FFT','JBU','NKS';...
'PHL','AAL','FFT','JBU','SWA';...
'ORD','AAL','FFT','SWA','NKS';...
'CLT','AAL','FFT','NKS','III'};
Destination = 'PHL';
Airlines = [];
for col= 1:1:size(DestinationData,1)
if DestinationData{col,1} == Destination
Airlines = DestinationData(col, 2:end);
end
end
Airlines
Airlines = 1×4 cell array
{'AAL'} {'FFT'} {'JBU'} {'SWA'}

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

产品

版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by