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

Fehler bei DGL rechnen "g

 

tatanka

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2013, 03:22     Titel: Fehler bei DGL rechnen "g
  Antworten mit Zitat      
Ich habe ein Problem bei der DGL.
ich habe zwei Gleichung und ein Randbedingung als insgesamt 3 Gleichung

gefragt ist ns und zs und z auch unbekannt aber die wird nicht benötigt ,da wenn man die ersten zwei Gleichung nach z und zs lösen und miteinander gleichsetzen würde,bleiben nur die bekannten.

i=5
g=19
n=1
s=2
k=21

ns=solve('4*(ns+zs)=((i/2)+g)*2*pi','4*(n+z)=((i/2)+s+k)*2*pi','z=zs')

wenn ich es einfach mal so eingebe,bekomme ich eine Fehlermeldung

Warning: Explicit solution could not be found.
> In solve at 169

danach werde ich mit ns weiterarbeiten.

freue mich sehr wenn jemand sich angucken könnte! Smile

Danke schon mal!


tatanka

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2013, 03:24     Titel:
  Antworten mit Zitat      
Sorry erstmal..ich wollte noch den Satz korrigeren aber habe ich einfach so abgeschickt.


ich korrigere hier mal weiter.
die Fehlermeldung ist
Explicit solution could not be found.
> In solve at 169
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.10.2013, 08:50     Titel:
  Antworten mit Zitat      
Hallo,

dein Code löst keine Differentialgleichung, sondern ein "ganz normales" Gleichungssystem.

Wenn ich deinen Code ausführe, läuft er auch problemlos durch.
Welches MATLAB-Release verwendest du?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2013, 18:00     Titel:
  Antworten mit Zitat      
Hallo Harald,

Vielen dank für deine Antwort.ich habe ein Matlab version von 2012

könntest du vielleicht auch mal so eingeben

i=5
g=19
n=1
s=2
k=21

ns=solve('4*(ns+bzs)=((i/2)+g)*2*pi','4*(n+z)=((i/2)+s+k)*2*pi','z=bzs')

ich habe nur statt "zs" bzs geschrieben

jetzt kommt die Fehlermeldung..Ich möchte auch mit dem Befehl weiterarbeiten..Deswegen möchte ich auch dass das Ergebniss als ein "Zahl" geschrieben haben..Da manchmal kriegt man irgendwie eine Gleichung.

besten dank nochmal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.10.2013, 20:41     Titel:
  Antworten mit Zitat      
Hallo,

es gibt kein 2012, sondern R2012a und R2012b, und große Unterschiede gerade zwischen diesen beiden Versionen. Hier ist das aber nicht das entscheidende.
Die Gleichungen bekommst du, weil die vorherigen Definitionen nicht berücksichtigt werden, wenn du die Gleichungen als Strings angibst. Keines der Beispiele in der Doku von solve verwendet diese Syntax - das hat schon seinen Grund ;)
Also:

Code:
i=5
g=19
n=1
s=2
k=21
syms ns bzs z
sol = solve(4*(ns+bzs)-((i/2)+g)*2*pi,4*(n+z)-((i/2)+s+k)*2*pi,z-bzs)


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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2013, 22:01     Titel:
  Antworten mit Zitat      
Hallo Harald,
Danke für dein Geduld auch und dein Antwort.

Aber es funktiniert troztdem nicht und ich möchte mit dem auch weiterrechnen.

ich habe jetzt als txt mitgeschickt und freue mich wenn du dir mal angucken kannst..ich sehe leider nicht wo der Fehler sein soll Sad

Normallerweise sind die Variablen "bz" und "bzs" nicht zu finden da die beiden bei der ersten zwei Gleichungen drin sind und miteinander bei der Weiterenrechnung aufheben wird. Von daher weiss ich nicht ob man bz und bzs in syms einsezten soll.

Danke nochmal

befehl.txt
 Beschreibung:

Download
 Dateiname:  befehl.txt
 Dateigröße:  470 Bytes
 Heruntergeladen:  453 mal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.10.2013, 08:10     Titel:
  Antworten mit Zitat      
Hallo,

was heißt denn "trotzdem nicht"? Du hast den Ratschlag, nicht mit Strings ( ' ' ) zu arbeiten, ja gar nicht umgesetzt.

Zitat:
Normallerweise sind die Variablen "bz" und "bzs" nicht zu finden da die beiden bei der ersten zwei Gleichungen drin sind und miteinander bei der Weiterenrechnung aufheben wird. Von daher weiss ich nicht ob man bz und bzs in syms einsezten soll.

Ich verstehe nicht, was du genau meinst. Generell ist es allerdings nicht sinnvoll, die Gleichungen zu verkomplizieren, indem man zwei oder mehr gleiche Variablen hat.

Wenn du die Lösung so, wie sie ist, in eine Datei schreiben willst, musst du das möglicherweise vorher mit char umwandeln.
Wenn du die Lösung als Dezimalzahl in die Datei schreiben willst, kannst du sie mit eval auswerten.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2013, 12:46     Titel:
  Antworten mit Zitat      
Alles Klar, Du hast Recht.

ich versuch mal es anderes zu formulieren!

Danke nocheinmal für deine Hilfe
grüße,
tatanka
 
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.