RANDOM FLIPPING FROM 1 TO -1

6 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)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!