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

Gleichung mit Zehnerlogarithmus lösen

 

Elementardrache

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2009, 21:11     Titel: Gleichung mit Zehnerlogarithmus lösen
  Antworten mit Zitat      
Ich möchte eine Gleichung lösen, in der ein Zehnerlogarithmus vorkommt.

Aber selbst bei einer einfachen Gleichung bekomme ich nur Fehlermeldungen.

Getestet habe ich z.B.:

Code:
solve('log10(x)=5')


Das Ergebnis davon ist eindeutig 100.000

Das einzige was Matlab dazu einfällt ist:

Code:
??? Error using ==> mupadengine.mupadengine>mupadengine.feval at 162
Error: cannot differentiate equation [numeric::fsolve]

Error in ==> solve>mupadSolve at 232
    list = feval(symengine,'mlfsolve',eqns,vars);

Error in ==> solve at 93
[R,symvars,order] = mupadSolve(eqns,vars);



Wo liegt der Fehler? Mit jeder anderen Gleichung funktioniert es.



Was ich auch nicht verstehe:
Benutze ich in obiger Gleichung den e-logarithmus, bekomme ich als Ergebnis: EXP(5)

Wieso gibt Matlab nicht 148,41 aus?


Zu diesen beiden Punkten finde ich im Internet rein gar nichts. Scheinbar will niemand solche Gleichungen lösen?!


Elementardrache

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2009, 21:14     Titel:
  Antworten mit Zitat      
Nachtrag: Ich nutze Matlab R2009a (7.8.0)
 
Elementardrache
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 12.06.09
Wohnort: ---
Version: 2009a
     Beitrag Verfasst am: 12.06.2009, 21:25     Titel:
  Antworten mit Zitat      
Tschuldigung, aber habe mich jetzt erst registriert.

Wegen dem EXP(5): ich weiß, dass dies e^5 bedeutet. Gut, diese Angabe ist natürlich genauer als der Zahlenwert. Aber irritiert erstmal.

(und meine ursprüngliche Gleichung mit dem Zehnerlogarithmus ist natürlich komplexer, nur bekomme ich da auch Fehlermeldungen)

Ich schreibe sie einfach mal rein:

Code:
solve('5000/(10^(-4.35*log10(x)+13.7))+15000/(10^(-4.35*log10(0.9*x)+13.7))+20000/(10^(-4.35*log10(0.8*x)+13.7))=1')


Matlab sagt dazu das gleiche wie oben beim log10 geschrieben. Ich will halt das x haben. und dann umformungen dieser Gleichung überprüfen, da ich manuell nicht auf das richtige Ergebnis komme.
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 13.06.2009, 08:27     Titel:
  Antworten mit Zitat      
Also scheinbar hat der solver offensichtlich ein problem mit dem log10.
Was mir dazu einfällt ist ein "work around". Erinnern wir uns an die Einführung des Logarithmus, so wissen wir das jeder Logarithmus egal zu welcher Basis durch jeden anderen Logarithmus darstellbar ist.



Code:

x=1234;
log10(x)
log(x)/log(10)
% liefern identische Ergebnisse

solve('log(x)/log(10)=5')
 

_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Elementardrache
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 12.06.09
Wohnort: ---
Version: 2009a
     Beitrag Verfasst am: 13.06.2009, 17:28     Titel:
  Antworten mit Zitat      
ok, danke - den Fehler habe ich Mathwork berichtet.

Jetzt muss ich es nur noch hinbekomme, dass ich ein reelles ergebnis bekomme. mal sehen.

Momentan spuckt er eine imaginäre Zahl als Ergebnis aus.
Private Nachricht senden Benutzer-Profile anzeigen
 
Elementardrache
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 12.06.09
Wohnort: ---
Version: 2009a
     Beitrag Verfasst am: 15.06.2009, 17:57     Titel:
  Antworten mit Zitat      
So, Mathworks weiß bescheid.

Ein Workauround ist der oben genannte.

Der zweite:

Zitat:
LOG10 can also be used if you use a symbolic expression instead of a string:

syms x
solve(log10(x)-5,x)


Das Problem wurde ans Entwicklungsteam weitergeleitet.
Private Nachricht senden Benutzer-Profile anzeigen
 
justahint

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2010, 14:33     Titel:
  Antworten mit Zitat      
Hallo,

Matlab scheint hier besonders kurios zu sein. Bevor aber niemand eine echte Lösung liefert lieber einmal die Frage, ob es helfen würde, alle anderen Logarithmen und Exponentialfunktionen Deiner Gleichung analytisch auf natürliche umzuformen und dies Matlab zu präsentieren?

Viel Glück
 
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 - 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.