How to avoid creating lots of variables from calculation from a table
Show older comments
Hi All,
I am still a beginner at this...
I have a table of data (dataTable) that the code below sets up, the point being there is a variable name ('Var') and a suffix of 1 to 10 in this example. From 'dataTable' I want to calculate the mean of a defined section for each variable, and ends with compiling the results into one array.
Is there a way to do this without having to create all the separate variables meanVar1...meanVar10 as below from the dataTable? Thanks and much appreciated.
Time = [0;1;2;3;4;5;6;7;8;9;10];
Var1 = randi([-10 10],1,11)';
Var2 = randi([-10 10],1,11)';
Var3 = randi([-10 10],1,11)';
Var4 = randi([-10 10],1,11)';
Var5 = randi([-10 10],1,11)';
Var6 = randi([-10 10],1,11)';
Var7 = randi([-10 10],1,11)';
Var8 = randi([-10 10],1,11)';
Var9 = randi([-10 10],1,11)';
Var10 = randi([-10 10],1,11)';
dataTable = table(Time, Var1, Var2, Var3, Var4, Var5, Var6, Var7, Var8, Var9, Var10);
meanVar1 = mean(dataTable.Var1(3:7));
meanVar2 = mean(dataTable.Var2(3:7));
meanVar3 = mean(dataTable.Var3(3:7));
meanVar4 = mean(dataTable.Var4(3:7));
meanVar5 = mean(dataTable.Var5(3:7));
meanVar6 = mean(dataTable.Var6(3:7));
meanVar7 = mean(dataTable.Var7(3:7));
meanVar8 = mean(dataTable.Var8(3:7));
meanVar9 = mean(dataTable.Var9(3:7));
meanVar10 = mean(dataTable.Var10(3:7));
meanscompilation = [meanVar1;meanVar2;meanVar3;meanVar4;meanVar5;meanVar6;meanVar7;meanVar8;meanVar9;meanVar10];
Accepted Answer
More Answers (0)
Categories
Find more on Tables 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!