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

Fläche plotten

 

Katsche
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 13.02.2009, 13:29     Titel: Fläche plotten
  Antworten mit Zitat      
Hallo,
ich möchte gerne eine Fläche plotten aber ich bekomme immer die Meldung

???Error using ==> minus
Matrix dimension must agree.

Ich finde den Fehler einfach nicht. Kann bitte jemand mal einen Blick darauf werfen? (ab Zeile 90) Vielen Dank schon mal.

mfg Katsche
[/list]

Brennersimulation.m
 Beschreibung:

Download
 Dateiname:  Brennersimulation.m
 Dateigröße:  2.99 KB
 Heruntergeladen:  846 mal
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.02.2009, 14:23     Titel:
  Antworten mit Zitat      
Y und ymj haben unterschiedliche Dimensionen, deshalb kann man nicht subtrahieren...
 
Katsche
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 13.02.2009, 14:37     Titel:
  Antworten mit Zitat      
Ok, sowas hatte ich vermutet.
Wenn ich aber die Dimensionen mit
Code:

[X Y]=meshgrid(-300:length(xmj):300,-300:length(ymj):300)
 

anpasse scheint es damit kein Problem mehr zu geben. Dafür aber ein paar andere Fehlermeldungen:

    ??? Error using ==> set
    View [azimuth elevation] must be a two element vector.

    Error in ==> mesh at 128
    set(cax,'View',y);

    Error in ==> Brenner_mit at 114
    mesh(SDViSek,X,Y)
    Warning: Z must not be a scalar or vector, not rendering surface.
    Warning: Z must not be a scalar or vector, not rendering surface.
    Warning: Z must not be a scalar or vector, not rendering surface.
    Warning: Z must not be a scalar or vector, not rendering surface.
    Warning: Z must not be a scalar or vector, not rendering surface.

Was muss ich denn jetzt mit Z machen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 13.02.2009, 14:38     Titel:
  Antworten mit Zitat      
Diese Tech-Note finden ich in diesem Zusammenhang sehr nützlich:

http://www.mathworks.com/support/tech-notes/1200/1212.html
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Katsche
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 14.02.2009, 11:25     Titel:
  Antworten mit Zitat      
Hallo,
danke für den Link, der hat wirklich etwas geholfen. Leider nicht vollständig, da sich nur die Fehlermeldungen ändern.
Momentan ist folgende Meldung aktuell.

    ??? Out of memory. Type HELP MEMORY for your options.

    Error in ==> meshgrid at 44
    xx = xx(ones(ny, 1),: );

    Error in ==> Brennersimulation at 108
    [X,Y]=meshgrid(Netz_x,Netz_y);

Bin für jeden weiteren Tip dankbar!

Brennersimulation.m
 Beschreibung:

Download
 Dateiname:  Brennersimulation.m
 Dateigröße:  3.11 KB
 Heruntergeladen:  776 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2009, 11:56     Titel:
  Antworten mit Zitat      
Naja, Du legst da mit einem Befehl zwei Variablen der Größe 16904*16904*8 Byte an, das passt halt nicht mehr in Deinen Speicher...

Brauchst Du eine so kleine Auflösung? Evtl das Raster gröber machen, oder irgendwie geschickt Symmetrie ausnutzen (Betrachtung einer halben oder geviertelten Anordnung möglich?) Oder ein entsprechend ausgestattetes System nutzen...
 
Katsche
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 14.02.2009, 12:07     Titel:
  Antworten mit Zitat      
Symmetrisch wäre es auf alle Fälle. Lasse ich dann nur eine Hälfte berechnen und spiegel es in der Grafik?
Wenn ich das Raster größer mache, passt es wieder nicht mit der Matrixdimension. Gibts da denn keine andere Möglichkeit das Raster zu vergrößern ohne dass die Fehlermeldung mit der Matrixdimension kommt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2009, 12:42     Titel:
  Antworten mit Zitat      
Du musst Dir erstmal darüber im Klaren sein, was Du da berechnest und was Du berechnen willst.
Du schreibst Y-ymj, das ist eine Matrix - einen Vektor, wie definierst Du diese Operation?
Wenn das klar ist guck Dir das SDViSek an.
Das willst Du mit
Code:
surf(X,Y,SDViSek)
darstellen, dazu muss SDViSek eine Matrix sein. Da Du aber
Code:
schriebst kann das nur ein Vektor oder ein Skalar sein, aber keine Matrix. Das wird auch nicht funktionieren.
 
Katsche
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 14.02.2009, 15:41     Titel:
  Antworten mit Zitat      
So klar ist mir das nicht. Ich hatte gehofft es ist etwas einfacher.
Ich versuche es mal ein bisschen zu erklären.

Es geht um Geschwindigkeit-, Temperatur- und Konzentrationsverteilung in einer Brennkammer. Die Öffnungen für Brenngas und Luft liegen in der X-,Y-Ebene.(siehe Plot)
X und Y geben in diesem Fall den Berechnungspunkt an, wo ich z.B. die Temperatur wissen möchte. Die Z Koordinaten soll dann die Temperatur sein. Hier ist es nun erstmal der Wert von SDViSek. Wenn ich einen Punkt (X/Y) angeben, also keine Matrix für X oder Y läuft es ja.
Wenn ich nun ein Raster über die Austrittsgeometrie lege von z.B. 1x1cm größen Kästchen und an jedem Schnittpunkt die Temperatur wissen will,die mir dann an dem Schnittpunkt (X(i)/Y(i)) die Z(i)-Koordinate ausspuckt und ich diese als surf dann darstellen möchte, wie muss ich denn das dann angehen?

Ist es einigermaßen rübergekommen, was ich beabsichtige?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2009, 16:33     Titel:
  Antworten mit Zitat      
Schon klar, aber wie Du das Z, d.h. das SDViSek ist halt nicht klar.
Kannst Du dafür ein Formel angeben?
 
Katsche
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 14.02.2009, 16:55     Titel:
  Antworten mit Zitat      
Ich versteh gerade deinen Frage nicht. Die Formel wie ich SDViSek berechne ist doch im Code oder soll ich die erklären?
X,Y,Z ist der Berechnungspunkt an dem ich SDViSek wissen möchte.
xmj, ymj, zmj sind auch Koordinaten.
In der Formel muss jetzt von den Berechnungspunkten X,Y,Z jede Koordinate xmj, ymj, zmj subtrahiert werden und jedes Teilergebnis aufsummiert. Sorry, das ist so, hab ich mir nicht ausgedacht. Confused Vielleicht hilft die angehängte Seite, die Formel (24.3) besser zu verstehen.
Hab auch noch ein bisschen am Code gefeilt und das Gefühl es ist etwas besser (richtiger). ->Funktioniert aber trotzdem nicht Sad

Brennersimulation.m
 Beschreibung:

Download
 Dateiname:  Brennersimulation.m
 Dateigröße:  3.18 KB
 Heruntergeladen:  686 mal
Formel.pdf
 Beschreibung:

Download
 Dateiname:  Formel.pdf
 Dateigröße:  22.56 KB
 Heruntergeladen:  739 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2009, 19:08     Titel:
  Antworten mit Zitat      
Was ist denn das Phi in der Formel und wo sind bei Dir die Düsen?
M_Ed sind x_n und y_n aus der Formel?

Für die Darstellung mit mesh oder surf brauchst Du für jeden Punkt auf einem rechteckigen Gitter einen Wert. So wie Du es machst bekommst Du nur die Werte auf der Diagonalen durch das Gitter. Du kannst Dir das mit
Code:
plot3(X,Y,SDViSek)
angucken.
 
Katsche
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 15.02.2009, 11:50     Titel:
  Antworten mit Zitat      
Hallo,
das Phi ist mein SDViSek (Stromdichteverteilung_Impuls für Sekundärgasdüsen), weil ich Phi als schon als Winkel definiert habe.
Die Düsen sind im Plot die kleinen Kreise, die durch mehrere sog. Elementardüsen mit den Koordinaten x_n, y_n und z_n dargestellt sind. Das verlangt die Berechnung so. z_n ist immer Null, deswegen steht das nicht in M_Ed drin.
Die Diagonale sieht ja schon für die Punkte richtig aus, aber wieso habe ich denn nicht für jeden Kitterpunkt einen Wert?
Ich bekomme doch für jede X-,Y-Kombination ein SDViSek? Das müsste doch reichen?

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Katsche
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 27.01.09
Wohnort: Bremen
Version: ---
     Beitrag Verfasst am: 15.02.2009, 13:40     Titel:
  Antworten mit Zitat      
Sorry, hab gerade gemerkt, dass ich die Falsche Formel angehängt habe. Es gibt da mehrer Möglichkeiten, aber das Prinzip ist das gleiche.

Formel.pdf
 Beschreibung:

Download
 Dateiname:  Formel.pdf
 Dateigröße:  31.08 KB
 Heruntergeladen:  601 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2009, 14:02     Titel:
  Antworten mit Zitat      
Hab mich schon gefragt wo die erf herkommt...
Aber so richtig verstehe ich das noch nicht. Diese Berechnung muss jetzt für alle Punkt x/y/z des Brennraums jeweils einmal mit jeder Elementardüse durchgeführt werden? Oder wie?
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.