How can fix this error ?

1 次查看(过去 30 天)
yaznp aldhyani
yaznp aldhyani 2023-5-10
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'

回答(1 个)

Nathan Hardenberg
Nathan Hardenberg 2023-5-25
编辑:Nathan Hardenberg 2023-6-5
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'.

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by