How can I make the entries of a matrix be a square root of the sum of their column number squared and row number squared ?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Damian Wierzbicki
le 26 Juin 2017
Modifié(e) : Stephen23
le 26 Juin 2017
Hello everyone, My question is: can I create a matrix of which entries are the square roots of the sum of its x and y position coordinates ( column number and row number respectively ) squared ? For example, for 3x3 matrix, it would look like: X = [ sqrt(2) sqrt(5) sqrt(10) ; sqrt(5) sqrt(8) ... ]. Is there a way of getting it in an automated way ? Thank you.
0 commentaires
Réponse acceptée
Stephen23
le 26 Juin 2017
Modifié(e) : Stephen23
le 26 Juin 2017
>> Rn = 4;
>> Cn = 3;
>> [Rv,Cv] = ndgrid(1:Rn,1:Cn);
>> sqrt(Rv.^2+Cv.^2)
ans =
1.4142 2.2361 3.1623
2.2361 2.8284 3.6056
3.1623 3.6056 4.2426
4.1231 4.4721 5.0000
>> fun = @(r,c)sqrt(r.^2+c.^2);
>> bsxfun(fun,(1:Rn)',1:Cn)
ans =
1.4142 2.2361 3.1623
2.2361 2.8284 3.6056
3.1623 3.6056 4.2426
4.1231 4.4721 5.0000
>> sqrt((1:Rn).'.^2 + (1:Cn).^2)
ans =
1.4142 2.2361 3.1623
2.2361 2.8284 3.6056
3.1623 3.6056 4.2426
4.1231 4.4721 5.0000
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!