How to iterate through an array to check for adjacent elements that are equal to one another using loops.

33 次查看(过去 30 天)
%This loads the file and allows us the work with the 'nr' varible
load("m05.mat")
%Varible for vector one. This vector will display all the indices of the
%elements meeting the condition
%V1 = nr;
%position one and position two in the array 'nr'
p1 = sym(nr(:,1));
p2 = sym(nr(:,2));
%Varible for vector two. This vector will display all of the values of the
%elements that meet the condition
%V2 = nr;
%% Section 2: Processing
%Loop to find the values for V2
for i = 1:1:1000
if p1 == p2
disp(p1)
disp(p2)
end
p1 = sym(nr(:, +1)); %I want p1 and p2 to be reassinged to the next
%element in the array 'nr'. 'nr' contains 1000 elements. I want the loop to
%check if adjacent elements in my loop are equal. For example if nr was
%equal to [1, 2, 2, 3], I would want it to display: '2' '2', at indices 2
%and 3.
p2 = sym(nr(:, +1));
end

回答(1 个)

KALYAN ACHARJYA
KALYAN ACHARJYA 2020-10-2
"How to iterate through an array to check for adjacent elements that are equal to one another using loops"
Here a is an 1D array here
idx=zeros(1,length(a));
for i=1:length(a)
switch i
case 1
if a(i)==a(i+1)
idx(i)=1;
end
case length(a)
if a(i)==a(i-1)
idx(i)=1;
end
otherwise
if a(i)==a(i-1) || a(i)==a(i+1)
idx(i)=1;
end
end
end
idx

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by