Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
Possibility to access/use whole structures
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi!
I made a structure with;
month(1)
month(2)
month(3) etc.
For example, I want to plot month(1:12).Q how can I do this?
0 Commenti
Risposte (1)
Guillaume
il 22 Feb 2016
See Access multiple elements of a nonscalar struct array. In your case, assuming that the fields Q are scalar:
plot([month(1:12).Q])
3 Commenti
Stephen23
il 22 Feb 2016
Modificato: Stephen23
il 22 Feb 2016
Try this link, it does not need a license:
Accessing the elements of a non-scalar structure is easy. Merging unequal-length vectors into one array is not so easy, and essentially the best solution is to preallocate an array and use a loop.
Guillaume
il 22 Feb 2016
Modificato: Guillaume
il 22 Feb 2016
It wasn't clear from your question whether Q was scalar (in which case you'd want a single plot for all the months) or a vector (in which case you'd want a plot per month).
In the latter case, the easiest is probably:
figure;
hold on;
arrayfun(@(m) plot(m.Q, m.Z), month);
Another option is to stuff the Q and Z in a single cell array and use comma separated list expansion to input arguments:
figure;
QZ = {month.Q; month.Z};
plot(QZ{:}); %Q and Z of each month must be the same size (or scalar)
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!