Hello guys, i have a matrix
U=(416,411)
and i need to make a matrix
W=zeros(416+2,411+2)
and then i need to copy the matrix U inside the matrix W, so the borders of this new matrix become full of zeros, or in anothers words matrix U surrended by zeros.
For example:
[0 0 0 0 ...
0 1 1 0 ...
0 0 0 0]
´
thanks in advance

 채택된 답변

dpb
dpb 2015년 1월 2일

1 개 추천

W(2:end-1,2:end-1)=U;
using the fact size(W you already created is size(U)+2 and you wanted it centered. If it weren't centered, then the generic expression is written based on the size of U instead of W...
r1=2; c1=2 % row column starting points in target
[nr,nc]=size(U);
r2=r1+nr-1: c2=c1+nc-1; % end positions in W
W(r1:r2,c1:c2)=U;
The rule is the size() of the LHS addressing expression has to match that of the RHS.

댓글 수: 1

yeah thanks a lot! You just made me felt dumb ehehe thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2015년 1월 2일

0 개 추천

[n,m]=size(U)
W(1:n,1:m)=U

댓글 수: 1

dpb
dpb 2015년 1월 2일
편집: dpb 2015년 1월 2일
Just as a minor correction, the above places it in upper RH corner, Azzi...need correction for the offset to get it at the desired starting location.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2015년 1월 2일

편집:

dpb
2015년 1월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by