Ich möchte das Modal Assurance Criterion (MAC) einer Modalanalyse ploten.
Mit der Matrix A funktioniert es einwandfrei.
Mit der Matrix B aber nicht. Also das figure geht auf aber es wird nichts angezeigt.
noch besser wäre es, wenn du die Daten für A und B direkt so bereitstellst, dass man nur noch mit copy & paste arbeiten kann.
Wie erzeugst du denn die Graphiken? Zeig doch dafür bitte den Code.
Das funktioniert bei mir unter Win7, 64 Bit, R2014a wunderbar und es ist mir auch kein Grund bekannt warum es irgendwo anders sein sollte. Klar, sind die Daten leicht anders skaliert, aber das hat hier keinen Einfluss auf "klassische" Probleme wie die Wahl eines anderen Renderers der dann Probleme macht. Und speziell nachdem der erste Plot prima aussieht...
in ein frisches Skript - speichern.
Breakpoint in Zeile 2 setzen - Starten mit F5,
Dann mit F11/F10 schrittweise debuggen und schauen wo in bar3.m etwas ungewöhnliches passiert.
Öffnet die Figure mit leerer Achse oder ganz anders?
Passiert in der "for i=1:size(yy,2)/4" Schleife irgendwas?
beim Debuggen darfst du die Figure nur minimieren, nicht zumachen. Sonst kann MATLAB natürlich nicht mehr auf die Figure zugreifen, und das ist der wahrscheinliche Grund für die Fehlermeldung.
Es treten keine fehler in form von roten fehlermeldungen auf.
allerdings fängt das programm an in bar3.m in der if-schleife, wie Andreas Doser schon angemerkt hat, blaue zahlen gefolgt von den entsprechenden commands in das command window zu schrieben.
in dem fall ist es jetzt eine 20x20 matrix mit einsen auf der hauptdiagonalen. die anderen werte gehen gegen null.
folgendes kommt:
in bar3.m
58 h=[h,surface('xdata',xx+x(i),...
66 end
58 h=[h,surface('xdata',xx+x(i),...
66 end
58 h=[h,surface('xdata',xx+x(i),...
66 end
58 h=[h,surface('xdata',xx+x(i),...
66 end
58 h=[h,surface('xdata',xx+x(i),...
66 end
58 h=[h,surface('xdata',xx+x(i),...
66 end
58 h=[h,surface('xdata',xx+x(i),...
66 end
58 h=[h,surface('xdata',xx+x(i),...
66 end
68 if length(h)==1
72 if ~hold_state,
74 if all(all(floor(y)==y))&&(size(y,1)<16)
78 xTickAmount=sort(unique(x(1,));
in unique.m
23 flagvals={'rows' 'first' 'last'};
24 if nargin>1;
43 order = 'last';
48 rows=size(a,1);
49 cols=size(a,2);
dann der rest des skripts bis 165 end.
also das hat geholfen. vielen dank.
aber was du mit "üblichen openGL tricks" meinst weiß ich nicht.
ich weiß nicht was dieser command da macht der auf das current figure zugreift.
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.