Pass a Structure and Structure Elements to a Function

2 visualizzazioni (ultimi 30 giorni)
I need to pass on a Structure as well as the elements of that structure to a function, but I keep on getting an error. Anyone out there know how to fix this one. Thanks in advance.
function [output] = monthlyplot(data,year,month);
%data; pass on structure; ex. Electrical
%year; pass on year of interest; ex. Twelve
%month; pass on month of interest; ex. January
month2 = struct('January',1,'February',2,'March',3,'April',4,'May',5,'June',6,'July',7,'August',8,'September',9,'October',10,'November',11,'December',12);
year2 = struct('Twelve',1,'Thirteen',2);
fieldmonths = fieldnames(month2);
fieldyear = fieldnames(year2);
temp1 = getfield(data.year.month);
  3 Commenti
Franco
Franco il 2 Mar 2013
Say that the structure is of the form Electrical.Year.Month. I would like to pass the structure Electrical to the function. Specify the Year and the Day. So for example, if I want to do an analysis on the data set in Electrical.Twelve.January, I would like to pass that on to the function in the form monthlyplot(Electrical, 'Twelve','January'). When I do that though,t he error I get is
monthlyplot(Electrical,'Twelve','January')
Reference to non-existent field 'year'.
Azzi Abdelmalek
Azzi Abdelmalek il 3 Mar 2013
Modificato: Azzi Abdelmalek il 3 Mar 2013
You can use
Electrical.('twelve').('January')
%or
year='twelve'
month='January'
Electrical.(year).(month)

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 3 Mar 2013
function [output] = monthlyplot(data,year,month);
%data; pass on structure; ex. Electrical
%year; pass on year of interest; ex. Twelve
%month; pass on month of interest; ex. January
temp1 = data.(year).(month);

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 2 Mar 2013
Modificato: Azzi Abdelmalek il 2 Mar 2013
You do not need to pass the fields of your struct variable in function arguments.
function output= monthlyplot(data)
% Maybe you should give more informations

Categorie

Scopri di più su Structures 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!

Translated by