ich schreibe gerade an meiner Abschlussarbeit und soll dafür ein vorhandenes Matlabprogramm modifizieren. Es handelt sich dabei um ein 12x12 Feld, dass eine Temperaturverteilung darstellen soll. Bisher wurde es mit einem festen Wert erzeugt. Siehe Anhang links. Nun soll die Temperatur über den Bereich variabel sein. Abblidung mitte, rechts. Habe das ganze schon ohne Schleife hinbekommen, es soll jedoch ausdrücklich als Schleife programmiert werden, damit man die Größe des Feldes leichter verändern kann.
Hoffe Ihr könnt mir dabei helfen.
Danke schonmal im vorraus.
Dann poste doch mal die Methode, mit der Du es vektorisiert machst. Dann ist eine Schleifen-Version einfacher zu erstellen, als wenn wir alle Details so erraten, dass sie ungefähr zur Aufgabenbeschreibung passen könnten.
Es bieten überhaupt keinen Vorteil das mit Schleifen zu programmieren. Insofern erschließt sich mir hier de Sinn nicht.
so habe ich es bisher gelöst. Wahrscheinlich kein schöner Programmierstil, aber es tut was es soll. Das es keinen Sinn macht das unbedingt per Schleife zu lösen, habe ich auch versucht meinem Professor deutlich zu machen. Soll aber unbedingt mittels Schleifen gelöst werden.
Ja, ich verstehe, was Dein Professor meint. Das bisherige Programm sieht undebugbar aus und eine Erweiterung auf z.B. 14 Elemente ist nahezu unmmöglich.
Ich dachte, Du hättest vielleicht eine vektorisierte Lösung, bei der die Dimensionen und Werte frei wählbar sind.
Wie kommt es zu den Zahlen 1000, 1300 usw?
Wie sind die Formen definiert? Sind das Kreise mit gerundeten Werten?
Was ist mit der mittleren Grafik?
die Zahlenwerte sind bisher nur annahmen. Diese müssen noch durch Versuche validiert werden. Das ganze soll eine Brennerflamme für Beschichtungsversuche in der Draufsicht zeigen. Somit in der Mitte die höchste Temperatur und zum Rand hin abnehmend. Die mittlere Grafik dient als Übergangslösung. Mein Professor meinte vielleicht bekomme ich hier eher den Draht zur Programmierung, aber auch hiermit habe ich so meine Probleme.
Nun kannst Du mit einer entsprechenden Funktion die Werte von R in die gewünschten Werte umrechnen. Du brauchst also keine Schleife, weil die doppelte Schleife in
bsxfun
eingebaut ist.
vielen Dank. Ja das ganze ist rotationssymmetrisch.
In der Mitte ist die Temperatur am höchsten und am Rand am geringsten.
(Erste Annahmen in der Mitte 1900K und am Rand gegen 1000K gehend.)
Momentan ist das im Code ja anderst herum. Wie kann ich das umdrehen? Durch Änderung von R in @minus werden alle Zahlen bei mir lediglich imaginär.
mit dem Code meinte ich deinen Vorschlag. Aktuell ist in der Mitte ja die 0 und der Wert steigt nach außen an. Wie kann ich das umdrehen? Ich glaube ich sehen momentan vor lauter Bäumen den Wald nicht.
Zitat:
Nun kannst Du mit einer entsprechenden Funktion die Werte von R in die gewünschten Werte umrechnen.
Glaube hier liegt mein Problem. Muss ich die Funktion R umschreiben oder die Funktion in einer neuen Zeile modifizieren?
Das kannst Du machen, wie Du Lust dazu hast. :-) Programmierer sind frei!
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.