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 (최근 30일)
이전 댓글 표시
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
채택된 답변
Stephen23
2017년 6월 26일
편집: Stephen23
2017년 6월 26일
>> 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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!