ich bin noch recht neu in der Benutzung von Matlab, darum seht es mir bitte nach, wenn meine Fragen evtl. sehr bodenständig sind.
Ich beschäftige mich gerade mit dem Plotten einer Funktion, die von zwei Variablen (y,z) abhängig ist.
Die Funktion beschreibt die Zustände in einem Kreisquerschnitt.
Ich gebe mir das Ergebnis über surfc(z,y,x) aus, was soweit alles auch funktioniert. Allerdings erscheinen ja nun logischerweise auch die Randbereiche in den Ecken, die nicht wirklich definiert sind. Der Kreisquerschnitt hat z. B. einen Radius von 10; das heißt, der Punkt y=10; z=10 fällt aus dem Bereich heraus, wird aber im Diagramm dargestellt bzw. auch von der Funktionsvorschrift berechnet. Ein Wechsel ins Polarkoordinatensystem ist leider ausgeschlossen, da ich die beiden Koordinaten brauche.
Gibt es eine Möglichkeit, den Wertebereich in Kreisform (z.B. r^2=y^2+x^2) einzuschränken?
vielen Dank für die Antwort!
Das hat mir schon mal weitergeholfen.
Nun habe ich aber bei der Grafikausgabe ein paar unschöne Effekte drin.
Im Anhang findet ihr zwei Bilder von meinen surfc Auswertungen.
Wie kann ich beim ersten Bild die komischen Verbindungslinien wegbekommen und beim zweiten die schwarzen Färbungen an der Diagrammflächenunterseite?
%Definition der Vektoren für die y- und z-Koordinate
z = linspace(-d/2,d/2,Aufloesung);
y = linspace(-d/2,d/2,Aufloesung);
for i1 =1:Aufloesung
for i2 =1:Aufloesung
if(z(1,i1)^2+y(1,i2)^2)^0.5>=d/2
ES_2(i1,i2)=NaN else if(z(1,i1)>a_F)
ES_2(i1,i2)=sigma_F
elseif(z(1,i1)<(-1)*a_F)
ES_2(i1,i2)=sigma_F*(-1) else
ES_2(i1,i2)=sigma_F*z(1,i1)/a_F
end end end end
du lässt dir gerne das Command Window zuspammen, oder? ;)
Strichpunkte am Ende der Zeilen helfen...
Da Y und Z nicht definiert sind, läuft der Code so bei mir nicht.
Wenn ich stattdessen y und z verwende, läuft er wunderbar und die Ergebnisse sehen schön aus.
bei mir sieht es auch mit surfc gut aus. Ich nutze aber wie gesagt z und y statt Z und Y, da ich diese nicht habe.
Überprüfe bitte, ob du das Problem auch mit z und y hast.
Falls nicht damit aber mit Z und Y, dann bitte Code liefern, wie Z und Y erstellt werden.
%Berechnung der Biegespannungen durch die erste Biegung
for i1 =1:Aufloesung
for i2 =1:Aufloesung
if(z(1,i1)^2+y(1,i2)^2)^0.5>=d/2
ES_2(i1,i2)=NaN;
else if(z(1,i1)>a_F)
ES_2(i1,i2)=sigma_F;
elseif(z(1,i1)<(-1)*a_F)
ES_2(i1,i2)=sigma_F*(-1);
else
ES_2(i1,i2)=sigma_F*z(1,i1)/a_F;
end end end end
... ich habe mir gerade nochmal die beiden von mir angehängten Bilder von vor zwei Minuten angesehen.
Komischerweise sind diese Bilder voll in Ordnung!
Ich habe nun einen Screenshot (links meine reale Darstellung am Bildschirm und rechts daneben das abgespeicherte jpg der Grafik) angehängt.
Kann es sich bei dem Thema um ein Einstellungsproblem handeln?
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.