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

x einer Funktion an Stelle y finden

 

Fragender

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2016, 12:12     Titel: x einer Funktion an Stelle y finden
  Antworten mit Zitat      
Hallo,

ich habe folgendes, wahrscheinlich triviales Problem:

Gegeben ist eine Funktion, z.B. :
y = 10 .^ (44.5760 - 4025.3 ./ x - 12.996 .* log10(x) + 0.0046055 .* x) * 133.322

Jetzt suche ich x an vorgegebener Stelle y... Da gibt's doch bestimmt eine einfache Matlab-Funkton für, oder?

Diese Funktion ist streng monoton, daher gibt es nur x zu jedem y, aber schön wäre es, wenn es auch etwas gibt, das mir alle Werte innerhalb eines vorgegebenen Intervalls für nicht streng monotone Funktionen wie im einfachsten Fall y=x² oder y=sin(x) errechnet...

Dankeschön Smile


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.09.2016, 13:33     Titel:
  Antworten mit Zitat      
Hallo,

numerisch gibt es dafür fzero oder fsolve . Allerdings wird dabei immer nur eine Lösung gefunden.

Symbolisch gibt es solve . Das löst allerdings nur "einfache" Gleichungen.

Eine andere Möglichkeit, alle Lösungen zu finden, ist natürlich, die Funktion auf einem Gitter auszuwerten und alle y zu suchen, die nahe am gewünschten Wert sind. Wenn man es genauer haben möchte, kann man diese nahen Werte dann als Startwert in fzero oder fsolve stecken.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragender

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2016, 15:03     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke schon mal für deine Hilfe.
Wie ich die Funktionsbeschreibung verstehe, gibt mir fzero lediglich die Nullstellen aus. Ich möchte aber in meinem Skript je nach Randbedingungen unterschiedliche (zu wählende) y-Werte abfragen.
Da ich leider der totale Matlab-Anfänger bin, stehe ich noch ratlos vor der Beschreibung von fsolve und solve .

Einfache Gleichungen habe ich eigentlich nicht, die sind alle in der Art des angegebenen Beispiels oder noch wilder...

Gruß, Fragender
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.09.2016, 15:15     Titel:
  Antworten mit Zitat      
Hallo,

Wenn du beispielsweise f(x) = 20 lösen möchtest, dann kannst du ja Nullstellen von f(x)-20 suchen.

Die Beispiele sollten doch eigentlich ganz hilfreich sein?

Code:
y = 20;
f = @(x) 10 .^ (44.5760 - 4025.3 ./ x - 12.996 .* log10(x) + 0.0046055 .* x) * 133.322 - y;
fzero(f, [1 10000])


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragender

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2016, 15:50     Titel:
  Antworten mit Zitat      
Oh, ja, super, das klappt so natürlich... da stand ich wohl auf dem Schlauch, dem freitagnachmittags-Schlauch...

Dankeschön für diese Hilfe, da kann ich jetzt wenigstens beruhigt ins Wochenende gehen.

MfG Razz
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 2025 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.