Parametric variable names
6 ビュー (過去 30 日間)
古いコメントを表示
Hi
Here's my question: Suppose there is an array called 'var' of size 40*1. I want to write a for loop that divides 'var' into four different arrays, say, 'var1','var2','var3' & 'var4' where each of them will pick 10 values from 'var'. So, I want the loop counter, say i, to be used in the array name,i.e.'var' as var{i}.
I'm trying to use the function 'genvarname' to create the parametric names, but I'm not able to assign values to those names...Here's what I'm trying:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% script - newone.m
close
clear all
var = (1:40)';
divsize = 10;
counter = length(var)/divsize;
holdvar = genvarname({'var1','var1','var1','var1'}); % Also I want this step to go parametric....like var1 * ones(counter,1),must generate the number of strings needed. I know the way I've used might be incorrect, but used it just to illustrate the purpose.
%%%%%%%%%%%%%%%%%%%%%%%%
output at this stage:
holdvar =
'var1' 'var11' 'var12' 'var13'
%%%%%%%%%%%%%%%%%%%%%%%%
for i = 1:counter
holdvar{i} = var((((i-1)*divsize)+1):(i*divsize));
end
holdvar = cell2mat(holdvar);
%%%%%%%%%%%%
output:
holdvar =
1 11 21 31
2 12 22 32
3 13 23 33
4 14 24 34
5 15 25 35
6 16 26 36
7 17 27 37
8 18 28 38
9 19 29 39
10 20 30 40
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The output I'm looking for is this:
var1 =
1
2
3
4
5
6
7
8
9
10
var11 =
11
12
13
14
15
16
17
18
19
20
var13 =
21
22
23
24
25
26
27
28
29
30
var14 =
31
32
33
34
35
36
37
38
39
40
Could you kindly guide me in the right direction. Also any other approach that does the same job is welcome!
Many Thnaks Amar
0 件のコメント
回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!