How to write my for loop data into an array
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello I have a for loop that is extracting data from a matrix and finding the minimums and maximums. I need it to write all the maxes in a array rathter than provide individual ans for each loop.
clear all
opts = detectImportOptions('testforscripts.csv');
filename = "testforscriptsfull.csv"; %reads file of all data points
T = readtable(filename,opts); %synthesizes the data and creates a table of variables
Two0 = standardizeMissing(T, 0); %takes all values of 0 and replaces them with NaN
%create an equally spaced vector of values using the more general form start:step:end.
ElmID1 = [99109176:3:99110484]; %this is the elm ID vector
ElmID2 = [99110592:3:99110837];
row = 308; % rows per group
grp = size(Two0,1)/row; %creates smaller matrixes of each data set
for k = 1:grp
idr = (1:row)+(k-1)*row; %breaks large data into 308 data sets WITH NaN
Finalmatrix=rmmissing(Two0(idr,:)); %Removes all values of NaN
Force=(Finalmatrix(:,2)); %Extract the second coloum (force) for each loop
Array=table2array(Force); %turn the table into an array so it can be indexed
Maxes = max(Array); %maxes of each coloumn
Mins = min(Array); %mins of each coloumn
for i=1:length(Maxes)
MaxMatrix(:,i)= Maxes(:,1) *This is the part I'm stuck on, method is not working*
MaxMatrix(:,i)=[MaxMatrix , Maxes(:,1) ] *This is the part I'm stuck on, method is not working*
end
end
0 Commenti
Risposte (1)
Stephen23
il 2 Giu 2022
Maxes = cell(1,grp);
for k = 1:grp
..
Maxes{k} = max(Array);
end
Maxes = vertcat(Maxes{:}); % optional
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!