www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 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" - nullstellen aus dem gradient
nullstellen aus dem gradient < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

nullstellen aus dem gradient: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:57 Mi 17.01.2007
Autor: BessyResi

hallo,

bevor ich noch länger suche...
muß aus einer spalte einer matrix, einen filter drübe rlegen und den gradient bestimmten...soweit so gut..ist elerdigt...jetzt soll ich die nullstellen rauslesen, da dort die maxismas liegen und sie in eine rmatrix ablegen!

bitte um hilfe!

lg
BessyResi
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.


        
Bezug
nullstellen aus dem gradient: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:01 Mi 17.01.2007
Autor: Martin243

Hallo,

kannst du mal posten, wie du das gelöst hast? Mir ist nämlich nicht klar, in welcher Form jetzt die Gradienten vorliegen.

Allgemein findest du die Indizes mit der find-Funktion, in etwa so:
indizes = find(grad=0);
extrema = daten(indizes);

Gruß
Martin

Bezug
                
Bezug
nullstellen aus dem gradient: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:22 Mi 17.01.2007
Autor: BessyResi

hallo martin,

phbr_filt = sgolayfilt(phbr, 3, 41);
ableitung_phbr = gradient(phbr_filt);

ichhabe folgendes problem:

nullstellen_phbr = zeros(ableitung_phbr');
nimmt er nicht, da zahlen nicht integer
legt matrix mit nullen ab, erstellt anscheinend auch vektoren mit lauter nullen

nullstellen_phbr = roots(ableitung_phbr');
will er auch ned, macht gar nichts
nimmt er nur, weil es kein polynom ist?????

roots müßte aber der richtige weg sein, oder?

hab auch schon max gesucht im phbr_filt...jedoch liest er nur das absolute maximum aus und ich bräuchte sämtliche maximas...evtl eine schleife mit intervallen schreiben? falls ja, wie geht das?

danke, mein held!

BessyResi



Bezug
        
Bezug
nullstellen aus dem gradient: Antwort
Status: (Antwort) fertig Status 
Datum: 17:30 Mi 17.01.2007
Autor: Martin243

Hallo,

> phbr_filt = sgolayfilt(phbr, 3, 41);
> ableitung_phbr = gradient(phbr_filt);

Hier fängt es an! Du bekomst so nur die partielle Ableitung nach x. Du brauchst:
[ablX, ablY] = gradient(phbr_filt); 
grad_betr = sqrt(ablX.^2 + ablY.^2);

Nun hast du für jeden Punkt den Gradientenbetrag. Im Idealfall könnten wir nach Nullen suchen, aber ich würde sagen, dass wir uns vielleicht einen kleinen Schwellwert setzen sollten, der auch reicht, denn eine Null zu finden wäre bei echten Meßdaten ein ziemliches Glück. Also (nur als Beispiel):
schwelle = 0.2;
extremaIdx = find(grad_betr < schwelle);

extremaIdx enthalten nun Indizes der Extrema (sind das alles Maxima?). Auf die Werte an diesen Stellen kannst du so zugreifen:
extrema = phbr_filt(extremaIdx);

> ichhabe folgendes problem:

> nullstellen_phbr = zeros(ableitung_phbr');
> nimmt er nicht, da zahlen nicht integer
> legt matrix mit nullen ab, erstellt anscheinend auch vektoren mit lauter nullen

Äääh, ganz richtig: zeros ist dazu da, Nullmatrizen zu erzeugen und nicht, Nullen zu suchen! Ist deine Hilfe-Funktion kaputt? ;-)

> nullstellen_phbr = roots(ableitung_phbr');
> will er auch ned, macht gar nichts
> nimmt er nur, weil es kein polynom ist?????

Genau!

> roots müßte aber der richtige weg sein, oder?

Nein! Du hast ja kein Polynom.

> hab auch schon max gesucht im phbr_filt...jedoch liest er nur das absolute maximum aus und ich bräuchte sämtliche maximas...evtl eine schleife mit intervallen schreiben? falls ja, wie geht das?

Es wäre möglich, für jeden Punkt zu schauen, ob alle Nachbarn kleiner sind. Aber du hast ja schon den Ansatz mit dem Gradienten.

> danke, mein held!

Wo ist hier so ein Rotwerd-Smiley??? Nur nicht zu vorschnell...


Gruß
Martin

Bezug
                
Bezug
nullstellen aus dem gradient: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:54 Do 18.01.2007
Autor: BessyResi

hallo martin,

lebst du noch oder hat es dich schon weggeweht?
bei uns fängt es soeben an!

mein ergebnis:
??? Error using ==> gradient
Too many output arguments.

Error in ==> splinetest at 96
[ablX, ablY] = gradient (phbr_filt);

frag mich lansgam, wieso klappt seit montag nichts mehr?!
bin wohl doch blond?! (ist eine rhetorische frage)!!!

lg
BessyResi

Bezug
                        
Bezug
nullstellen aus dem gradient: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:02 Do 18.01.2007
Autor: BessyResi

x ist aber nur eine laufvariable, d.h. sie zählt die messwerte nur durch!

kann das ein problem sein?

danke

Bezug
                        
Bezug
nullstellen aus dem gradient: Antwort
Status: (Antwort) fertig Status 
Datum: 11:42 Fr 19.01.2007
Autor: Martin243

Hallo,

> lebst du noch oder hat es dich schon weggeweht?
> bei uns fängt es soeben an!

Nach dem heftigen Regen waren das recht gemütliche 3 Stunden im stehenden Zug. Dann habe ich ein Taxi genommen.

> mein ergebnis:
> ??? Error using ==> gradient
> Too many output arguments.
> Error in ==> splinetest at 96
> [ablX, ablY] = gradient (phbr_filt);

Oh, Moment! Du nimmst den Gradienten nur über eine Spalte und nicht über die gesamte Matrix. Dann würde ich doch eher rechnen:
grad_betr = abs(gradient(phbr_filt));

Dann bekommst du für deine Spalte eine Spalte mit Gradientenbeträgen. Der Rest sollte gehen.

> frag mich lansgam, wieso klappt seit montag nichts mehr?!
> bin wohl doch blond?! (ist eine rhetorische frage)!!!

Hmmm... Ein Spiegel sollte da weiterhelfen.


Gruß
Martin

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]