Verfasst am: 26.01.2011, 12:09
Titel: "Attempt to reference field of non-structure array.&quo
Hallo liebe Leute,
vorab habe ich in einem Schritt mehrere mat-Files mit jeweils zwei Dateien edge_det und edge_crit angelegt. Das sind beides Variablen der Gestalt 121x202 x n (hier n=50). Und Aufrufen dieser mat-Files läuft auch ohne Probleme. Soweit so gut.
Nun habe ich folgendes Programm geschrieben (der Übersicht halber habe ich die Kommentare entfernt):
Wie man sieht möchte ich gerne 3 (und in einer anderen Version eigentlich auch 4) cell-Arrays der Größe n x 1 (n=50) abspeichern. Das aber sollte kein Problem darstellen.
Und nun wollte ich nichts anderes machen als ein m-File mit folgendem Inhalt laufen zu lassen:
forclass = 2%0:4 for meth = 1%:4 for quant = 0.6%:0.05:0.95 [index,distvec,vert] = kNNcalc(class,meth,quant,k);
if(isdir(str))% ... folder exists cd(str) elseif(~isdir(str))% ... folder does not exist mkdir(str);
cd(str) end
name = ['cls',num2str(class),'_meth',num2str(meth),'_q',num2str(quant*100),'_k',num2str(k),'.mat'];
save(name,'index','distvec','vert');%,'-v7.3');
%clear('edge_det');
cd('../') end end end
Dann erhalte ich aber leider folgende Fehlermeldung, aus der ich auch nach Recherche im Internet nicht schlauer wurde.
Code:
Start
End. Now exiting.
Warning: Direct access of structure fields returned by a function call (e.g.,
call to script_k1)is not allowed. See MATLAB 7.10 Release Notes, "Subscripting Into FunctionReturn Values" for details.
??? Attempt to reference field of non-structure array.
Ich bin auf das Problem gestoßen, weil ich auf diese Art auf einem anderen Rechner eben die gewollten mat-Files abgespeichert habe, sie aber leider nicht öffnen kann ("Unable to read..."). Insofern vermute ich den Fehler in der Fehlermeldung, um die es hier geht.
Ich wäre für Hilfe sehr sehr dankbar!
Schon jetzt auch vielen Dank!
Verfasst am: 26.01.2011, 23:19
Titel: Re: "Attempt to reference field of non-structure array.
Hallo xedosh,
Kannst Du bitte noch posten, in welcher Zeile die Warnung auftritt? Erraten kann ich das zumindest nicht.
Wenn Du die entsprechende Zeile nicht angezeigt bekommst, versuche:
Kann es sein, dass hier eine Variable direkt in den Workspace geladen wird, oder eben auch nicht, so dass Du später aus Versehen einen Index auf einen Funktionsaufruf anwendest?
Gruß, Jan
Einstellungen und Berechtigungen
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
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.