www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Computerprogramm
Computerprogramm < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Computerprogramm: Matlab
Status: (Frage) überfällig Status 
Datum: 16:42 Fr 17.04.2009
Autor: InoX

Ich muss für Optimierung ein Programm schreiben (in Matlab), welches ein Polynom [mm] f:[0,1]^3\to\IR[/mm] einliest und in jeden Segment, d.h., im inneren den kanten und den 2d Randflächen des Würfels prüft ob es saturiert ist, d.h., dort ein Maximum besitzt.

Das Problem ist nun ich habe keine ahnung von Matlab.

Erstmal möchte ein Polynom einlesen. Ich weiß bereits, dass man da ein .m file erstellen kann und durch

function y=poly(x,y,z)
y=...
end

ein Polynom eingeben kann.

Weiter kann man dann mit jacobian(f,v) wobei v=[x y z] ist den Gradienten berechnen.

Dann hat man eine Matrix mit 3 nichlinearen Gleichungssystemen.

Wie löse ich diese ?

Gehe ich prinzipiell richtig vor?

Sollte ich etwas an der Struktur ändern z.B. auch das eigentliche Programm in ein .m file stecken?

Weiter muss ich ja dann diese lösungen irgendwie in ein dynamisches Array speichern, da ich ja nicht weiß, für wie viele werte in [mm] [0,1]^3 [/mm] grad f=0 eine Lösung hat

Wie geht das?

Oh Gott und dann brauch ich noch eine die für jede Lösung prüft, ob die Hesse Matrix positiv definit ist.

Also, ich arbeite bereits daran, aber ich sehe kein Land.

Wenn sich jemand meinem Problem erbarmen kann und mir bei einigen Fragen helfen kann wäre ich sehr dankbar.

LG,
Martin




        
Bezug
Computerprogramm: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:07 Fr 17.04.2009
Autor: InoX

Die Hessematrix habe ich jetzt manuell ausgerechnet.
Das mit den Nullstellen des gradienten löste ich mit dem Befehl solve.

Momentan weiß ich nicht genau, wie ich in einer funktion werte einsetze

bsp
syms x,y,z

[mm] f=x^2+y^2+z^2 [/mm]

g=diff(f,x)

ich will nun g(2,0,0) haben aber wie geht dass genau in matlab?

Bezug
                
Bezug
Computerprogramm: Antwort
Status: (Antwort) fertig Status 
Datum: 22:39 Fr 17.04.2009
Autor: Frasier

Hallo Martin,

sieh' dir mal den subs Befehl an.
1: syms x y z
2: f=x^2+y^2+z^2
3: g=diff(f,x)
4: subs(g,2)


lg
F.


Bezug
                        
Bezug
Computerprogramm: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 11:14 Sa 18.04.2009
Autor: InoX

Sitze gerade vor dem Problem, dass ich überprüfen will, ob der gradient Nullstellen in (x,y,z) hat.

Dafür habe ich die Partiellen eines Polynoms p durch:


px=diff(p,x);
py=diff(p,y);
pz=diff(p,z);

berechnet.

Nun will ich das Gleichungssystem auf Nullstellen prüfen, dafür nehme ich
[n1 n2 n3]=solve(px,py,pz)

Das Funktioniert auch gut, sofern keiner der Ableitungen verschwindet oder konstant ist, was mache ich in diesen fällen ?

Bezug
                                
Bezug
Computerprogramm: if?
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:48 Sa 18.04.2009
Autor: ecko

hallo Martin, ich wollte das Problem zuerst mit c++ lösen, bis ich deinen Beitrag gelesen habe, nun lade ich mir auch matlab runder, kenn mich da auch noch nicht aus, aber zu deinem Problem, schreib doch eine kleine überprüfungs struktur für deine ableitungen, die überprüft ob deine funktion konstant oder 0 ist, ich würde mir einfach 2 beliebige werte angeben lassen und die dann vergleichen, wenn sie ungleich sind, dann ist die funktion auch nicht konstant oder 0! wenn sie gleich sind, würde ich noch 2 andere werde überprüfen lassen, kann ja auch zufaellig gleich sein. Dann würde ich deine Rechenschritte vo oben in eine if bedingung haun, mit bedingung, das p unkonstant sein muss :)

Ich werde dann auch mal ein paar codes von mir rein haun, wenn ich das programm mal habe, aber das dürfte so funktionieren oder?

Bezug
                                        
Bezug
Computerprogramm: Hilfe zum Allgemeinen Ver.
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:57 Sa 18.04.2009
Autor: ecko

Ich glaube ich habe ein allgemeines Verständnissproblem mit der Ranngehensweise, muss ich da auf Maixmalstellen untersuchen und dann schaun ob sie auch im Intervall [0,1]³ bzw [0,1]² bei dein Seiten...liegen?
Oder muss ich da Matlab vorab sagen, das x1,..,x3 aus [0,1] sind?

Bezug
                                                
Bezug
Computerprogramm: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:32 Sa 18.04.2009
Autor: InoX

Nich schlecht mal jemanden zu begegnen, der auch in der Vorlesung sitzt.
Also ich habs bis jetzt so gemacht, dass ich jedes der 19 Segmente einzeln prüfe. Denn dann hat man den Vorteil, dass man nur die Existenz einer Maximalstelle nachweisen muss. Habe inzwischen auch ne Funktion gefunden, die minimas sucht. Der Name fmins oder fminsearch, aber weiß nicht nicht recht wie man damit umgeht.
Hab dir übrigens ne pm geschrieben mit E-Mail Adresse.


Bezug
                                
Bezug
Computerprogramm: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:20 Mo 20.04.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
Computerprogramm: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:20 Mi 22.04.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]