matrix creation from a loop
1 view (last 30 days)
Show older comments
I would like to create 60 vector columns of zeros (6964,1) called lat_01_days, lat_02days, lat_03_days until 60. I know I could write them one by one but if i know How to create a loop to create them it would be better also for future research. Can someone help mep lease?
Walter Roberson on 17 Sep 2020
if i know How to create a loop to create them it would be better also for future research.
Our long experience is that it would make your future research worse instead of better.
Stephen23 on 17 Sep 2020
The simplest and most efficient solution is to just create one matrix:
lat = zeros(6964,60)
which you can then trivially access using indexing. There is no point in making it more complex than that.
Ruger28 on 17 Sep 2020
Edited: Ruger28 on 17 Sep 2020
The two other answers are a more correct way of doing it. There is no need to create this many variables in your workspace. However, if you must...
You should use a structure instead of individual variables.
Blank_Vec = zeros(6964,1);
Num_Cols = 60;
for ii = 1:Num_Cols
name = sprintf('lat_%i_days',ii);
ZeroColStruct.(name) = Blank_Vec;
if you absolutely MUST have individual variables, one method is this:
% Removed due to being a terrible way to do something
Find more on Matrix Indexing 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!