WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Index exceeds matrix dimensions

 

Dr. Dr. Sheldon Cooper

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2010, 14:22     Titel: Index exceeds matrix dimensions
  Antworten mit Zitat      
Hi Leute,
ich schreibe gerade ein kleines Programm, bei dem es mir meine Einstellungen meine GUI in ein Struct und dann später in ein *.mat packen soll.
Jetzt möchte ich ganz bestimmte sichern, die schreibe ich in ein Cell-Array das 1x17 hat.
Die Objectparameter speicher ich in einer Variablen Hier s zwischen damit kann ich doch eigentlich auf alle Objectparameter mit dem "." Zugreifen?

Ok, klappt auf soweit so gut wenn i=1 läuft meine Schleife durch, wenn jetzt i=2 kommt der oben genannte Fehler.
In der Variablen a steht der Richtige Wert also funktioniert Paramters(2) doch genau wie ich das will.

Wo ist aber jetzt mein Fehler? Welcher Index ist falsch?



Code:
function einstellSichern(modus,alles)
   Parameters={'sample_width',...      
                  'sideA_subdev1_datatype',...
                  'sideA_subdev1_antenna',...
                  'sideA_subdev2_datatype',...
                  'sideB_subdev1_datatype',...
                  'sideB_subdev1_antenna',...
                  'sideB_subdev2_datatype',...
                  'decimation',...
                  'vector_length',...
                  'sideA_subdev1_frequency',...
                  'sideA_subdev1_gain',...
                  'sideA_subdev2_frequency',...
                  'sideA_subdev2_gain',...
                  'sideB_subdev1_frequency',...
                  'sideB_subdev1_gain',...
                  'sideB_subdev2_frequency',...
                  'sideB_subdev2_gain'};
               
   switch modus

      case 'Live'
         simliName='fsk_demod_live';
      case 'von Datei lesen'
         simliName='fsk_demod_readfromfile';
      case 'in Datei schreiben'
         simliName='fsk_demod_writetofile';
      otherwise
         disp('Fehler: Für diesen Modus können keine Einstellungen gesichert werden!')
   end

   if(alles ==0)
      s=get_param('fsk_demod_live/usrp_source','objectparameters')
      for i=1:length(Parameters)
         usrp_einst(i).Modus=modus;
         usrp_einst(i).Quelle='Usrp';
         usrp_einst(i).Parameter=Parameters(i);
         usrp_einst(i).Wert=get_param([simliName,'/usrp_source'],sprintf('%s',cell2mat(Parameters(i))));
         a=Parameters(i);
         s.Parameters(i).Type
      end
   else
   end
   %usrp_einst(1)
end


Dr. Dr. Sheldon Cooper

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2010, 14:32     Titel:
  Antworten mit Zitat      
Ok, alles klar wenn natürlich ein Parameter von s Paramters heißt wird alles klar, das es nicht geht.

Bleibt bei mir die Frage: Wie ich die einzelnen Objectparameter variabel abfragen kann?

mfg Dr. Dr. Sheldon Cooper
 
Dr. Dr. Sheldon Cooper

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2010, 14:41     Titel:
  Antworten mit Zitat      
Man sollte doch mal in alte Dateien schauen, dann muss man nicht immer Fragen.

Hier mal der Interessante teil, vll. hilft es ja mal jemandem.


Code:
usrp_einst(i).Modus=modus;
         usrp_einst(i).Quelle='Usrp';
         usrp_einst(i).Parameter=einstParam(i);
         usrp_einst(i).Wert=get_param([simliName,'/usrp_source'],sprintf('%s',cell2mat(einstParam(i))));
         a=getfield(s,sprintf('%s',cell2mat(einstParam(i))));
         a.Type
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 22.09.2010, 22:07     Titel: Re: Index exceeds matrix dimensions
  Antworten mit Zitat      
Hallo Dr. Dr. Sheldon Cooper,

nur ein kleiner Kommentar:
Code:

 ... sprintf('%s',cell2mat(Parameters(i));
% macht das gleiche wie:
   Parameters{i}
 

Oder übersehe ich etwas?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.