How can fix this error ?

1 vue (au cours des 30 derniers jours)
yaznp aldhyani
yaznp aldhyani le 10 Mai 2023
we have run this code and we have obtained this error "
Operator '==' is not supported for operands of type 'cell'.
names = {'1' '2' '3' '4' '5' '6' '7' '8' 'A' 'B' 'C'};
A1=[1 0 0 0 5 0 0 5 0 0 0; ...
0 1 0 0 0 0 5 5 0 0 0; ...
0 0 1 10 5 0 0 0 0 0 0;...
0 0 10 1 0 0 3 0 0 0 0;...
5 0 5 0 1 0 0 0 1 0 0; ...
0 0 0 0 0 1 0 5 0 1 0;...
0 5 0 3 0 0 1 0 0 0 1;...
5 5 0 0 0 5 0 1 0 0 0;...
0 0 0 0 1 0 0 0 1 0 0;...
0 0 0 0 0 1 0 0 0 1 0;... 0 0 0 0 0 0 1 0 0 0 1];
num_cars = zeros(3,3); % initialize matrix to store number of cars passing
for i=1:3 % loop through rows of adjacency matrix
for j=1:3 % loop through columns of adjacency matrix
if i~=j % ignore diagonal entries (no cars can pass from a node to itself)
num_cars(i,j) = sum(names(A1(i,:)~=0)==names(A1(j,:)~=0)); % count number of cars passing between nodes i and j
end
end
end
This is error "
Operator '==' is not supported for operands of type 'cell'

Réponses (1)

Nathan Hardenberg
Nathan Hardenberg le 25 Mai 2023
Modifié(e) : Nathan Hardenberg le 5 Juin 2023
This error occurs when you want to compare to cells, which you can't do. What you probably want is to compare the contents of the cells. For this put the corresponding index after the cell:
X = {'a', 'b'};
Y = {'a', 'c'};
X{1} == Y{1} % compare 'a' to 'a' => works
ans = logical
1
X{2} == Y{2} % compare 'b' to 'c' => works
ans = logical
0
X == Y % this throws the error
Operator '==' is not supported for operands of type 'cell'.

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by