creating vector from n value

19 views (last 30 days)
Tu Nguyen
Tu Nguyen on 15 Feb 2022
Commented: Tu Nguyen on 15 Feb 2022
Hi everyone, how can I created 5 diffrent vectors based on:
n = [2 4 8 16 32]
if n = 2, N = [1/2 1/2]
if n=4, N = [1/4 1/4 1/4 1/4]
so on with 8 16 and 32
Please help me
  2 Comments
Torsten
Torsten on 15 Feb 2022
Edited: Torsten on 15 Feb 2022
for i=1:numel(n)
N{i} = 1/n(i)*ones(1,n(i));
end

Sign in to comment.

Answers (2)

Tyler F
Tyler F on 15 Feb 2022
You can use the repmat function.
n=2;
N = repmat(1/n,1,n)
>> [0.5 0.5]

DGM
DGM on 15 Feb 2022
Here's one way:
n = [2 4 8 16 32];
N = cell(numel(n),1);
for k = 1:numel(n)
N{k} = repmat(1/n(k),1,n(k));
end
celldisp(N)
N{1} = 0.5000 0.5000 N{2} = 0.2500 0.2500 0.2500 0.2500 N{3} = 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 N{4} = 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 N{5} = Columns 1 through 22 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 Columns 23 through 32 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312 0.0312

Categories

Find more on Mathematics and Optimization 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!