How to repeat the first number only
1 view (last 30 days)
Show older comments
Array a is given
a =[1]
How can I add 0 to the array depending on n.
n=1 --> a=[0 1]
n=2 --> a=[0 0 1]
n=3 --> a=[0 0 0 1]
and n can be changes to any number
0 Comments
Accepted Answer
madhan ravi
on 7 Dec 2018
Edited: madhan ravi
on 7 Dec 2018
a = 1;
n = 2; % just an example n
a = [zeros(1,n) a]
2 Comments
madhan ravi
on 7 Dec 2018
Edited: madhan ravi
on 7 Dec 2018
Anytime :) , respond to your previous question https://in.mathworks.com/matlabcentral/answers/434359-how-to-add-1-into-the-array#answer_350993
More Answers (1)
Image Analyst
on 7 Dec 2018
madhan's way is the best (how I'd do it), but I just want to show you a neat trick - that you can "grow" an array by simply assigning something to the last location (the location at the largest point that you want to grow it to):
a = 1; % Initial array.
n = 2; % just an example n
% a = [zeros(1,n) a] % Best way
a(n+1) = 0; % Enlarge array by appending zeros simply by assigning the last element.
a = fliplr(a) % Flipr it so that the 1 is on the right.
5 Comments
Stephen23
on 7 Dec 2018
Edited: Stephen23
on 7 Dec 2018
Not just a neat trick, until R2015b allocating to the last element (and implicitly filling array with zeros) was faster than calling zeros:
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!