RANDOM FLIPPING FROM 1 TO -1

5 views (last 30 days)
Offroad Jeep
Offroad Jeep on 24 May 2016
Edited: Walter Roberson on 25 May 2016
Hi to all the users, I have tried a code in which numbers are changed from 1 to -1 turn by turn. But I need some condition.
  1. All elements are 1
  2. A random element of matrix is selected and changed from 1 to -1.
  3. The process goes till all the elements are changed from 1 to -1 randomly.
  4. Once the change happens it should be fixed. ie once 1 is changed to -1 it should remain fixed.
Hope i have cleared my idea.....
Regards
clc
clear all
format compact
nrows = 3
A = ones(nrows)
E_A = sum(sum(A))
n = numel(A);
for k=1:n
A(k) = -1
E_B = sum(sum(A))
end

Accepted Answer

James Tursa
James Tursa on 24 May 2016
Edited: James Tursa on 24 May 2016
Make this change:
:
p = randperm(n); % <-- Add this line just before for-loop
for k=1:n
A(p(k)) = -1; % <-- change the index from k to p(k)
:

More Answers (0)

Community Treasure Hunt

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

Start Hunting!