Manipulate Matrix Element using subscripts (ex: isprime(i-j)) or (i+j)>10)

1 回表示 (過去 30 日間)
Mark
Mark 2011 年 11 月 22 日
I need to create a oneline command to set a 'n x n' matrix to {1 if i-j isprime, 0 if not). I don't remember how to select an element in this manor. Thank you.

採用された回答

Fangjun Jiang
Fangjun Jiang 2011 年 11 月 22 日
n=10;
A=zeros(n);
A(isprime(abs(bsxfun(@minus,(1:n)',1:n))))=1

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2011 年 11 月 22 日
n = 10
out = bsxfun(@(x,y)isprime(abs(x-y)),1:n,(1:n)')

カテゴリ

Help Center および File ExchangeDiscrete Math についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by