I have 32x32 matrix...But I want to make this a 512x512 matrix with the same element as in the 32x32 matrix..and the rest of which would be zero in 512x512 matrix.. how do i do it??

I have 32x32 matrix...But I want to make this a 512x512 matrix with the same element as in the 32x32 matrix..and the rest of which would be zero in 512x512 matrix.. how do i do it??

 採用された回答

Stephen23
Stephen23 2014 年 12 月 18 日
編集済み: Stephen23 2014 年 12 月 20 日
There is no need to waste time or space with loops or even copying the data from one matrix to another. Try this instead:
A = rand(32);
A(512,512) = 0;
The first line creates a matrix of size 32x32, the second line allocates the value zero to the element at position (512,512). Of course there is no such element, so MATLAB enlarges the matrix, and automatically fills all of the missing values with zero.

その他の回答 (1 件)

A=32x32 matrix
B=zeros(512)
for i= 1:32
for j=1:32
B(i,j)=A(i,j)
end
end
try this

3 件のコメント

Stephen23
Stephen23 2014 年 12 月 18 日
編集済み: Stephen23 2015 年 1 月 2 日
This answer is pretty poor use of MATLAB, particularly doing this inside multiple loops (it pays to learn about vectorization when using MATLAB), and using i and j as the loop variables can lead to weird problems as these are the names of the inbuilt imaginary unit .
The OP instead proposed using indexing to allocate all of the values in one go, which is a much faster and neater solution:
B = zeros(512);
B(1:32,1:32,:) = A;
For an even faster and neater solution read my answer.
Image Analyst
Image Analyst 2014 年 12 月 20 日
編集済み: Image Analyst 2014 年 12 月 20 日
sanik's "Answer" moved here:
Thank you so much...I just now tried this one:
B=zeros(512);
A=32x32;
B(1:32,1:32,:)=A;
and yea this is working too. Thanks...
I accepted Stephen's answer for you, since this was his idea. But I agree with him that the "trick" he used in his answer is preferable, though a little less explicit and obvious. Please give him reputation points by voting for his answer.

サインインしてコメントする。

質問済み:

2014 年 12 月 18 日

コメント済み:

2015 年 1 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by