How to update matrix values using algorithm based on position?

1 vue (au cours des 30 derniers jours)
Clark
Clark le 22 Sep 2012
Suppose I've already create a square matrix, A=zeros(n).
Now let's say, for every position, A(i,j), I want to update the value to 1 / (i + j^2), can I do this easily?
Thanks!

Réponse acceptée

Matt Fig
Matt Fig le 22 Sep 2012
Modifié(e) : Matt Fig le 22 Sep 2012
The straightforward way is to just use a loop:
A = zeros(n);
for ii = 1:n
for jj = 1:n
A(ii,jj) = 1/(ii+jj^2);
end
end
Here is another way to do it:
B = bsxfun(@(x,y) 1./(x+y.^2),(1:n).',1:n)
  2 commentaires
Clark
Clark le 22 Sep 2012
Thanks. Can it be done without a loop?
Clark
Clark le 22 Sep 2012
Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by