How to create a list of an array index

21 ビュー (過去 30 日間)
Scragmore
Scragmore 2011 年 11 月 6 日
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

採用された回答

Image Analyst
Image Analyst 2011 年 11 月 7 日
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 件のコメント
Scragmore
Scragmore 2011 年 11 月 7 日
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 2011 年 11 月 7 日
Just do this
primesList = find(ary)+1;
The find() function tells you which elements are non-zero or true.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by