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

Symbolisch integrieren mit int() und vorherigem simplify()

 

Nordlicht
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 62
Anmeldedatum: 08.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2021, 15:58     Titel: Symbolisch integrieren mit int() und vorherigem simplify()
  Antworten mit Zitat      
Moin moin,

ich möchte Mehrfachintegrale symbolisch lösen und drehe hier langsam durch.

Irgendwie verhält sich die Funktion int() komisch und ich steige wirklich nicht dahinter..

Beispiel 1

Denkbar einfaches Skript:
Code:
clc
clear
close all

syms x
syms y

f1=simplify(0.5*x^2+x*y )
f2=(0.5*x^2+x*y )

F1(x,y)=int(f1,y)
F2(x,y)=int(f2,y)

Erg1= F1(4,4)
Erg2= F2(4,4)
 


Output:
Code:
f1 =
 
(x*(x + 2*y))/2
 
 
f2 =
 
x^2/2 + y*x
 
 
F1(x, y) =
 
(x*(x + 2*y)^2)/8
 
 
F2(x, y) =
 
(x*y*(x + y))/2
 
 
Erg1 =
 
72
 
 
Erg2 =
 
64


Es DARF doch eigentlich keinen Unterschied machen, ob ich simplify() nutze oder nicht?
Gut, man könnte sagen, dann lass die Finger von simplify(), aber so einfach ist es leider nicht, siehe Beispiel 2.

Hier Beispiel 2, so bin ich eigentlich darauf gestoßen, Code:

Code:
clc
clear
close all

syms x
syms y

f1=int((x+y),x)
f2=int(f1,y)


output:

Code:

f1 =
 
(x*(x + 2*y))/2
 
 
f2 =
 
(x*(x + 2*y)^2)/8


Das sieht auf den ersten Blick vielleicht noch gut aus, aber ist leider mathematisch einfach falsch. Ich habe ein Bild angehangen vom onlineintegralrechner (integralrecher punkt de), der das korrekt integriert.

Bin hier wirklich am Ende meines Lateins und würde mich über Input sehr freuen..

Beste Grüße

x_ynachX.JPG
 Beschreibung:

Download
 Dateiname:  x_ynachX.JPG
 Dateigröße:  128.06 KB
 Heruntergeladen:  141 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.06.2021, 16:51     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
aber ist leider mathematisch einfach falsch.

Sehe ich anders. Das Problem ist, dass das unbestimmte Integral nicht eindeutig definiert ist, sondern immer eine Konstante dazugehört. Zu Schulzeiten war man immer angehalten, ein "+c" dahinter zu schreiben.
Dieses "+c" kann, wenn du nach y integrierst, auch von x abhängen.
Solange f2 nach y abgeleitet wieder f1 ergibt, ist das Ergebnis richtig.
Code:
simplify(diff(f2, y) - f1)
 
ans =
 
0


Auch in deinem ersten Beispiel ist der unterschied von F1 und F2 x^3/8, also als Funktion von y betrachtet eine Konstante.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Nordlicht
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 62
Anmeldedatum: 08.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2021, 17:09     Titel:
  Antworten mit Zitat      
Danke dir. Ja gut mathematisch mag das stimmen, trotzdem hätte ich gern unabhängig davon, wie ich eine Funktion eingebe, Stammfunktionen, die gleiche Ergebnisse liefern.

Anders gefragt: Wie kann ich die Stammfunktionen von Mehrfachintegralen symbolisch aufstellen, sodass es einer händisches Integration nach den Integraltafeln irgendwelcher Formelsammlungen gleich kommt?

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
trotzdem hätte ich gern unabhängig davon, wie ich eine Funktion eingebe, Stammfunktionen, die gleiche Ergebnisse liefern.

Dass du das gerne hättest, kann ich durchaus nachvollziehen. Allerdings würde ich sagen: wenn man die Frage unterschiedlich stellt, muss man auch mit unterschiedlichen Ergebnissen rechnen.

Kleiner Selbstversuch:
Ich integriere mal 2*x + 2. Ganz klar: x^2 + 2*x
Ich integriere mal 2*(x+1), was ja genau das gleiche ist. Das Ergebnis ist für mich hier ebenso klar: (x+1)^2.
Wenn ich das ausmultipliziere, kommt blöderweise was anderes heraus als vorher.

Zitat:
Anders gefragt: Wie kann ich die Stammfunktionen von Mehrfachintegralen symbolisch aufstellen, sodass es einer händisches Integration nach den Integraltafeln irgendwelcher Formelsammlungen gleich kommt?

Das dürfte schwierig werden. Ich würde nämlich davon ausgehen, dass unterschiedliche Formelsammlungen Integrale teilweise unterschiedlich angeben.
In der ersten Formelsammlung, die ich aufgeschlagen habe, habe ich festgestellt: da werden sogar innerhalb eines Buchs unterschiedliche Ausdrücke angegeben! Beispiel:
\int \frac{dx}{1+x^2} = arctan(x) + C = -arccot(x) + C'
(Großes Handbuch der Mathematik, 1969, Gellert / Küstner / Hellwich / Kästner, S. 468)

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Nordlicht
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 62
Anmeldedatum: 08.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2021, 08:50     Titel:
  Antworten mit Zitat      
Das unbestimmte Integral von 2x+2 lautet immer und nur (2/2)x^2+2x.
Das ist auch unabhängig von der Klammersetzung, Summanden (die ausgeklammerte 2) ändert nichts an dem Integral.
Natürlich kann man S (2x+2) dx zu 2*S (x+1) umschreiben, das Integral lautet dann halt 2[1/2x^2+x] (mit S als zeichen für ein Integral).

Die Tatsache, dass der Gellert von 1969 noch 2 Integrale für einen Bruch mit möglicher konjugiert komplexer Polstelle angibt ändert nichts daran, dass man das nicht muss und ein gleichbleibendes Integral zulassen. "Moderne" Formelsammlungen geben für derartige Fälle Ausdrücke an, die zwar nicht so schlank und elegant sind, jedoch keinerlei "Intepretationsspielraum" übrig lassen, siehe Anhang.

Einfache Online Tools und "B Ware" Software wie Maxima bekommt das ja auch hin, da haben wir schon Lagrange Gleichungen 2. Art hoch und runter bearbeitet ohne doppeltdeutige Ergebnisse zu erhalten.
Ich kann mir einfach nicht vorstellen, dass Matlab da scheitert, beim besten Willen nicht Shocked

integraltafel_beispiel.jpg
 Beschreibung:
Beispiel für eindeutige Integrale trotz möglicher Polstellen im imaginären Zahlenbereich.

Download
 Dateiname:  integraltafel_beispiel.jpg
 Dateigröße:  147.35 KB
 Heruntergeladen:  147 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.06.2021, 09:39     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Das unbestimmte Integral von 2x+2 lautet immer und nur (2/2)x^2+2x.

Sehe ich anders, x^2+2x + c. Siehe z.B. hier:
https://de.serlo.org/mathe/1829/bes.....und-unbestimmtes-integral

Hier noch ein schönes Beispiel, in dem ich beide Antworten sehr nachvollziehbar finde:
Code:
>> syms x
>> f1 = int( (x+1)^6 )
f1 =
(x + 1)^7/7
 
>> f2 = int( expand((x+1)^6) )
f2 =
x^7/7 + x^6 + 3*x^5 + 5*x^4 + 5*x^3 + 3*x^2 + x
 
>> simplify(f1 - f2)
ans =
1/7


Zitat:
Einfache Online Tools und "B Ware" Software wie Maxima bekommt das ja auch hin, da haben wir schon Lagrange Gleichungen 2. Art hoch und runter bearbeitet ohne doppeltdeutige Ergebnisse zu erhalten.
Ich kann mir einfach nicht vorstellen, dass Matlab da scheitert, beim besten Willen nicht Shocked

Im oben genannten Beispiel liefert z.B. auch https://www.integral-calculator.com/ die selben Ergebnisse wie MATLAB (und somit unterschiedliche).

Es kann durchaus sein, dass es eine Möglichkeit gibt, zu eindeutigen Integralen zu kommen, ich kenne aber keine. Für mich scheitert es daran, dass die Aufgabenstellung schon nicht eindeutig ist. In dem konkreten Fall kannst du natürlich sagen, du möchtest immer C = 0 haben. Ich würde aber sagen, dass das bei unterschiedlichen Formulierungen eben bei weitem nicht so klar ist.
Ich kann dir nur empfehlen, mit der Frage den Technischen Support zu kontaktieren. Der wird ggf. die Entwickler kontaktieren.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Nordlicht
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 62
Anmeldedatum: 08.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2021, 13:01     Titel:
  Antworten mit Zitat      
Also der Integralrechner kommt immer auf das gleiche Integral, egal wie man die Funktion schreibt (auch die expanded (x+1)^6). Es ist auffällig, dass er aber vor der Integration die Funktion auch simplifiziert. Ich teste da nochmal etwas in Matlab rum und lasse es sonst ggf. sein.

integralrechner4.JPG
 Beschreibung:
(x+1)^6 expanded

Download
 Dateiname:  integralrechner4.JPG
 Dateigröße:  64.22 KB
 Heruntergeladen:  138 mal
integralrechner3.JPG
 Beschreibung:
(x+1)^6

Download
 Dateiname:  integralrechner3.JPG
 Dateigröße:  41.61 KB
 Heruntergeladen:  146 mal
integralrechner_2.JPG
 Beschreibung:
2x+2

Download
 Dateiname:  integralrechner_2.JPG
 Dateigröße:  39.5 KB
 Heruntergeladen:  140 mal
integralrechner_1.JPG
 Beschreibung:
2(x+1)

Download
 Dateiname:  integralrechner_1.JPG
 Dateigröße:  45.48 KB
 Heruntergeladen:  141 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

bei https://www.integral-calculator.com/ fehlt nach Integration der expanded Form das 1/7, wenn man keine Vereinfachungen anfordert.

Ich habe mich mal etwas umgehört. Hier noch ein Vorschlag:

Code:
syms c(x)
F1(x,y)=int(f1,y, c, y)
F2(x,y)=int(f2,y, c, y)
% Optional:
F1_0 = subs(F1, c, 0)
F2_0 = subs(F2, c, 0)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 26.06.2021, 19:17     Titel:
  Antworten mit Zitat      
Nordlicht hat Folgendes geschrieben:
Das unbestimmte Integral von 2x+2 lautet immer und nur (2/2)x^2+2x.


NEIN!
Bereits in der Schule wurde beigebracht, was auch Harald mehrfach wiederholt hat:
Ein unbestimmtes Integral hat einen _unbestimmten_ Anteil. Meist mit "+ C" dargestellt.

Und nur, weil _ein_ Rechner konsequent dies unter den Tisch fallen lässt, heißt das nicht, dass sich deshalb die dahinter liegende Mathematik ändert.
Das, was der von dir gewählte Rechner macht ist, ein BESTIMMTES Integral zu berechnen. Nämlich, indem er C = 0 setzt.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
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.