How to use 'find' function in matlab
    6 次查看(过去 30 天)
  
       显示 更早的评论
    
In the below code, We have a random population with structures Position (3D array) and Cost. I need to check whether a particular element present in the population If it does then I want to remove it from the population. I'm using 'find' function for doing it. It was working fine with arrays but with structures I'm getting error below error
_ Undefined operator '~=' for input arguments of type 'struct'_
Here is the code
clc; clear all;
varMin   = -5;           
varMax   =  5; 
D        =  3;
VarSize  = [1 D]; % Decision Variables Matrix Size
NP      = 3;
empty_individual.Position   = [];
empty_individual.Cost       = [];
P  = repmat(empty_individual, NP, 1);
addpath('E:\Dimensionality Reduction\DR & Optimization\Data\Objective Functions');
CostFunction = @(x) sphere(x);
%%Generating random population
for i = 1:NP
    P(i).Position = unifrnd(varMin, varMax, VarSize);
    P(i).Cost     = CostFunction(P(i).Position);
end
xi = [1 1 1];                % xig
P  = P(find(P ~= xi));
4 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

