How to create a list of an array index

21 Ansichten (letzte 30 Tage)
Scragmore
Scragmore am 6 Nov. 2011
I am doing a project Euler prime number puzzle but I do not wish to use the Matlab primes function , so I'm building my own.
I am going to use the standard sieve to produce my primes but I wish to store these in a logic array. How do I get the index/cell location of all true values into an array/output as these will be my prime numbers.
Thanks
AD

Akzeptierte Antwort

Image Analyst
Image Analyst am 7 Nov. 2011
Can't you just use a counter that increments when you find a prime number?
if itsAPrimeNumber
numberOfPrimesFound = numberOfPrimesFound + 1;
listOfPrimes(numberOfPrimesFound) = yourCurrentNumber;
end
  2 Kommentare
Scragmore
Scragmore am 7 Nov. 2011
If possible I would like to do it this way, learning to do bitwise calculations, bigger array/smaller memory allocation, how I want to use the function ect.
so if I have an array;
ary = [1 1 0 1 0 1 0 0 0 1 .....]
I would like to return;
return ary(true)
ans = 2 3 5 7 11 .......
Image Analyst
Image Analyst am 7 Nov. 2011
Just do this
primesList = find(ary)+1;
The find() function tells you which elements are non-zero or true.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by