How to insert a row into multiple fields (within a structure)
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mathew Grey
le 16 Juil 2018
Réponse apportée : Mathew Grey
le 17 Juil 2018
Hi All,
My code looks as follows:
clear all;
close all;
clc
[~, Sheets] = xlsfinfo('GPSdata2018copy.xlsx');
nSheets = length(Sheets);
Data =[]
GPS = struct
for i = 1:nSheets
Player = Sheets{i};
[Data,~,Raw] = xlsread('GPSdata2018copy.xlsx', Player, 'E8:KE16');
Dates = datetime(Data(1,:),'convertfrom','excel');
Data(1,:) = datenum(Dates);
GPS = setfield(GPS, Player, Data);
end
I want to add a row to each of my fields in the second row under the dates without removing any of the data that is in there (just moving the data down). Can someone please tell me how to do that? Do I do it in the loop, our have to do it to the Data that I read over?
Kind regards, Mat
1 commentaire
Réponse acceptée
Christopher Wallace
le 16 Juil 2018
Mat,
I've created dummy data that from what you're saying is similar in structure to what you use.
The result of the code ends up like this:

You want to add a single row to the top of the field value array?
If so it can be done in the loop using something like this:
Dates = datetime(Data(1,:),'convertfrom','excel');
Data(1,:) = datenum(Dates);
Data = [Data(1, :); zeros(1, size(Data, 2)); Data(2:end, :)];
GPS = setfield(GPS, Player, Data);
0 commentaires
Plus de réponses (2)
Voir également
Catégories
En savoir plus sur Structures dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!