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

Error while evaluating uicontrol Callback

 

toddi
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2009, 08:44     Titel: Error while evaluating uicontrol Callback
  Antworten mit Zitat      
hallo zusammen,
ich habe eine problem, bei dem ich mir die zähne ausgebissen habe.
ich rufe eine function über eine gui auf, danach erhalte ich folgende fehlermeldung:


Code:

??? Maximum variable size allowed by the function is exceeded.
To request support for 64-bit arrays in this function
please send this error to 64bit@mathworks.com

Error in ==> FTT_m at 88
     [F, F_real, F_imag]=FTT(y_temp,Ts,F_init_real,F_init_imag,d_j);

Error in ==> Audioanalyse>ftt_berechnen_Callback at 171
    FTT_m;

Error in ==> gui_mainfcn at 95
        feval(varargin{:});

Error in ==> Audioanalyse at 22
    gui_mainfcn(gui_State, varargin{:});

??? Error using ==> Audioanalyse('ftt_berechnen_Callback',gcbo,[],guidata(gcbo))
Maximum variable size allowed by the function is exceeded.
To request support for 64-bit arrays in this function
please send this error to 64bit@mathworks.com

??? Error while evaluating uicontrol Callback
 


ich rufe also aus meiner gui eine function auf, die selbst wieder eine function aufruft. die function in der fehlermeldung ist dann die letzte aufgerufene. es handelt sich um eine .mex32. die matrizen dafür sind bereits segmentiert und somit nicht zu groß, sonst würde ja auch nur ein memory problem als error meldung kommen.

das eigenartige ist, dass die function bestens funktioniert, wenn ich sie direkt über das command fenster aufrufe.

hat jemand eine idee, was ich hier falsch mache?
muß ich irgendwo das varargin anpassen?

gruß thorsten
Private Nachricht senden Benutzer-Profile anzeigen


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 10.07.2009, 11:30     Titel:
  Antworten mit Zitat      
Hallo,

hmm, nicht ganz einfach. Ein typisches Problem könnte die Verwechslung von Strings und Zahlen sein. Setze mal einen breakpoint auf die Zeile in FFT_m und schaue Dir die Variablen an. Sind das double-Werte? Sind das wirklich die Werte, mit denen Du von der Kommandozeile aus aufrufen kannst?

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
toddi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2009, 14:16     Titel:
  Antworten mit Zitat      
hallo,

ich habe diese function bevor ich sie in meine gui eingebaut habe ausgiebig getestet. es sind alles double werte. als eingänge sind ein vektor, zwei scalare, zwei matrizen gewählt. als ausgang sind es drei matrizen.

ich habe an der übergabe zum programmteil FTT gegenüber der "command-fenster-version" nur soweit etwas geändert, dass ich in meiner gui nur mit gespeicherten .mat dateien arbeite, also nicht mit über an den workspace 'base'. ich rufe also sämtliche werte so auf:
Code:

open('beispiel');
Ts=ans.Ts;
y_temp=ans.y_temp;
...

[F, F_real, F_imag]=FTT(y_temp,Ts,F_init_real,F_init_imag,d_j);


 


das läuft in anderen beispielprogrammen auch einwandfrei. es kann auch nicht an der anzahl von variablen liegen, da ich eine function (auch .mex32) mit der gleichen anzahl aufrufe.

ich hoffe, dass du titus oder noch andere einen tipp haben.

gruß thorsten
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 13.07.2009, 16:58     Titel:
  Antworten mit Zitat      
Hallo,

nicht wirklich Sad. Allerdings ist das Laden der .mat-Datei ungewöhnlich, ich würde (unabhängig vom aktuellen Problem), den Umgang mit ans eliminieren.
Code:
data = load('beispiel.mat');
Ts = data.Ts;
y_temp = data.y_temp;
 


Ciao,
Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
toddi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2009, 07:39     Titel:
  Antworten mit Zitat      
hallo titus,

du hast recht das load muß noch raus. aber es kommt sehr häufig vor leider Smile (zu viel arbeit).

ich habe mein problem allerding gelöst:

ich habe die eingangsgröße y_temp als spaltenvektor übergeben, obwohl mein .mex32 einen zeilenvektor verlangt. naja in einer anderen function wird diese datei importiert und abgelegt. ich hatte es nicht auf dem schirm, dass sie dort gedreht wurde.

danke für die gedanken.
ich muß aber sagen, dass die error-meldung irgendwie nicht daraufhindeutete.

gruß thorsten
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2009, 08:12     Titel:
  Antworten mit Zitat      
Servus toddi

Du hast zwar mittlerweile Deine Lösung, aber...

Zitat:
aber es kommt sehr häufig vor leider Smile (zu viel arbeit).


Im Matlab- Editor gibts unter <Edit> die Funktion <Find and Replace>:

Find what: ....
Replace with: ....
_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
toddi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2009, 08:52     Titel:
  Antworten mit Zitat      
hey Dagnabit,

das ginge schon. doch ohne globale variablen oder zuweisung eines workspaces für die einzelnen variablen geht das leider nicht so einfach. da steckt die arbeit nicht im austauschen eines wortes. naja das abspeichern hat auch gewisse vorteile (projekt-aufrufe).

danke trotzdem

gruß thorsten
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 - 2024 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.