Undefined operator '==' for input arguments of type 'cell'?

조회 수: 1 (최근 30일)
sharifah shuthairah syed abdullah
i got an error
Undefined operator '==' for input arguments of type 'cell'.
Error in GeneratePopulation (line 143)
pt=find(p1==1); %cycle value utk p1
what can i do to fix it?
%% parent selection
cp=0.4; % Crossover Percentage
np=2*round(cp*r/2); % Number of Offsprings (Parents)
% np=cp*r
valp=np/2;
v=valp;
n1=length(RS(:,1));
PP=RS([1:v,n1-v+1:end],3:end);
P=cell(1,np); % preallocate
for i=1:np
P{i} = PP(i,:);
end
%celldisp(P);
%vertcat(P{:}); % double array
%% CYCLE CROSSOVER
szcld = size(P,2); % p
n2=length(P(:,1));
c1=zeros(1,szcld);
c2=zeros(1,szcld);
p1= P(1:v);
p2= P(1:n2-v+1:end);
pt=find(p1==1); %cycle value utk p1
for i=1:P
while (c1(pt)==0)
c1(pt)=p1(pt);
pt=find(p1==p2(pt));
end
left=find(c1==0);
c1(left)=p2(left)
pt=find(p4==1); %cycle value utk p1
while (c2(pt)==0)
c2(pt)=p4(pt);
pt=find(p2==p1(pt));
end
left=find(c2==0);
c2(left)=p1(left);
end

답변 (1개)

madhan ravi
madhan ravi 2019년 1월 7일
P=vertcat(P{:}); % double array %% uncomment this line
  댓글 수: 10
Walter Roberson
Walter Roberson 2019년 1월 8일
So you want to find all the linear indices in p1 at which the value is 1? Not the column number in each row?
sharifah shuthairah syed abdullah
when u said it like that.. its seem that my coding is wrong.. i want to find a linear indices in p1 but i dont want all the value is equal to 1.
and i want to read PP not as matrix but as an answer .. each row is an answer / parent

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by