How to fix it.

1 view (last 30 days)
Nisar Ahmed
Nisar Ahmed on 28 Oct 2020
Commented: Nisar Ahmed on 28 Oct 2020
wav dimentions are
wav = 5001*1
and I want to change it as wav = 5001*5
How I can reshape it?

Accepted Answer

Steven Lord
Steven Lord on 28 Oct 2020
So you want to take 5001 values and generate 25005 (5001 times 5) values using those values. How do you want to generate the additional 20004 values?
Make duplicate copies?
x = (1:6).'
y = repmat(x, 1, 5)
Offset the copies by a certain amount? This approach uses implicit expansion; if you're using an older release you could use bsxfun.
x = (1:6).'
y = x + (0:10:40)
Pad with 0 values or with random data?
x = (1:6).'
y = [x, zeros(size(x, 1), 5)]
z = [x, rand(size(x, 1), 5)]
w = [x, randi([7 11], size(x, 1), 5)]
Something else? If so, please explain in detail how you want to generate the additional values.
  3 Comments
Elijah McNeil
Elijah McNeil on 28 Oct 2020
His code does that, Just write this.
x = (1:5000).';
wav = repmat(x, 1, 5).
Nisar Ahmed
Nisar Ahmed on 28 Oct 2020
Elijah McNeil, thanks dear, Now it is working

Sign in to comment.

More Answers (1)

Elijah McNeil
Elijah McNeil on 28 Oct 2020
Edited: Elijah McNeil on 28 Oct 2020
This should work
wav = 5001*1
wav = wav*5
  5 Comments
Elijah McNeil
Elijah McNeil on 28 Oct 2020
Wait 5000 rows and 1 column?
Nisar Ahmed
Nisar Ahmed on 28 Oct 2020
5000 rows and 5 columns, each column is duplicate of other.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!