|
|
Partialbruchzerlegung mit mehreren Skripten |
|
N.U.89 |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 31.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.04.2020, 09:49
Titel: Partialbruchzerlegung mit mehreren Skripten
|
|
Hallo,
ich stehe nun vor dem nächsten Problem.
Meine Aufgabe ist es eine Partialbruchzerlegung mit Matlab durchzuführen.
Ich habe dafür versucht ein Programm zu schreiben. In diesem Programm möchte ich einem Nutzer mit Befehlen und Erklärungen die Zerlegung einfach gestalten.
Dafür sind bei mir jetzt Fünf Skripte entstanden die untereinander nach Aufruf des Nutzers ausgeführt werden.
Gibt es eine Möglichkeit, die Skripte in ein gemeinsames zu überführen, diese aber nicht alle auf einmal ausführen zu lassen?
Die nächste Frage wäre, ob ich das Ergebnis der Partialbruchzerlegung auch in der Form 3/(x-1) + 2/(x+1) ..... ausgeben kann ?
Vielen dank im Vorraus
Gruß
Nico
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.04.2020, 10:00
Titel:
|
|
|
|
|
Hallo,
Zitat: |
Gibt es eine Möglichkeit, die Skripte in ein gemeinsames zu überführen, diese aber nicht alle auf einmal ausführen zu lassen? |
Du kannst das Skript in Sections unterteilen (klassischer Editor: %% (Leerzeichen) Text, Live Editor: Section Break - Button) und dann "Run Section" verwenden.
Zitat: |
Die nächste Frage wäre, ob ich das Ergebnis der Partialbruchzerlegung auch in der Form 3/(x-1) + 2/(x+1) ..... ausgeben kann ? |
Wie wird das denn momentan ausgegeben, was hast du versucht, um das in der neuen Form auszugeben und welche Probleme sind dabei aufgetreten?
Das schönste wäre m.E. im Live Editor die Symbolic Math-Toolbox zu verwenden, siehe als PDF exportiertes Beispiel.
Grüße,
Harald
Beschreibung: |
|
Download |
Dateiname: |
bsp.pdf |
Dateigröße: |
18.98 KB |
Heruntergeladen: |
264 mal |
_________________
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 ;)
|
|
|
N.U.89 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 31.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.04.2020, 14:13
Titel:
|
|
Aktuell wird das Ergebnis folgendermaßen ausgegeben:
r =
3
2
4
p =
1
1
-1
k =
[]
Ich hätte das gerne in der Form wie in deinem Beispiel :
f(x)= 3/(x-1) + 2/(x-1) + 4/(x+1)
Allerdings darf das Programm nur als m-file gespeichert werden und nicht als .mlx
Danke
Gruß
Nico
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.04.2020, 16:04
Titel:
|
|
Hallo,
dann könnte man z.B. etwas basteln:
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 ;)
|
|
|
N.U.89 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 31.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.04.2020, 13:41
Titel:
|
|
Das ist echt schon super vielen lieben Dank.
Nun habe ich mal eine andere Aufgabe eingegeben.
Und zwar folgende: f(x)= 1/(x²-1)*(x³+1)
Als Ergebnis kam dann folgendes:
r =
-1/4 + 0i
-1/6 + 0i
1/4 + 0i
-1/9727775195120234 + 260/1351i
-1/9727775195120234 - 260/1351i
p =
-1 + 0i
-1 + 0i
1 + 0i
1/2 + 1170/1351i
1/2 - 1170/1351i
Die ersten drei Zeilen sind klar, aber die letzten beiden bei r und p kann ich nicht interpretieren. Mein Dozent schrieb mir, dass die Funktion eval() oder double() das Ergebnis: -1/(3*x^2-x+1) liefern soll.
Wenn ich dies anwende kommt aber leider gar nichts bei raus. Hast du dazu auch eine Idee ?
Gruß
Nico
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.04.2020, 14:04
Titel:
|
|
Hallo,
das Ergebnis legt nahe, dass nicht nur Terme der Form a/(x-b) zulässig sein sollen, sondern auch Terme der Form a/(x^2+b*c+c). Das hast du wohl noch nicht berücksichtigt.
M.E. stimmt da aber was nicht. Wenn man die beiden Ausdrücke plottet, kommen vollkommen unterschiedliche Ergebnisse raus.
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 ;)
|
|
|
N.U.89 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 31.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.04.2020, 14:51
Titel:
|
|
Das Ergebnis war nur auf den letzten Teil der Partialbruchzerlegung bezogen. Sorry für das Missverständnis. Das komplette Ergebnis soll lauten:
f(x)= 1/(x^2 − 1)(x^3 + 1) =
−1/4(x + 1) −1/6(x + 1)^2 +1/4(x − 1) −1/3(x^2 − x + 1)
Das ausgegebene Ergebnis ist immernoch das Gleiche. Wie gehe ich bei der Aufgabe denn am besten vor, hast du einen Tipp?
Gruß
Nico
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.04.2020, 15:58
Titel:
|
|
Hallo,
versuch mal, imaginäre Terme der Form a/(x-b) paarweise zu Termen der Form a/(x^2+b*x+c) zusammenzufassen.
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 ;)
|
|
|
N.U.89 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 31.03.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.04.2020, 08:41
Titel:
|
|
|
|
|
Guten Morgen,
da jetzt gerade gar nichts mehr funktioniert würde ich gerne nochmal von vorne anfangen und die komplette Aufgabe präsentieren.
Also ich soll ein Skript für eine Partialbruchzerlegung schreiben.
Dieses Skript soll die beiden folgenden Aufgabe berechnen können:
f(x)=(7x^2-6x+3)/(x^3-x^2-x+1) und f(x)=1/((x^2-1)(x^3+1))
Mein aktuelles Skript sieht wie folgt aus:
[code]
syms x
disp ('Zähler und Nenner müssen zwingend Ausmultipliziert sein ')
disp('Die Polynome müssen ohne Argumente und in Vektorschreibweise eingegeben werden.')
answer = inputdlg('Zählerpolynom eingeben:',...
'Eingabeaufforderung', [1 50])
b = str2num(answer{1})
answer = inputdlg('Nennerpolynom eingeben:',...
'Eingabeaufforderung', [1 50])
a = str2num(answer{1})
format compact
[r,p,k] = residue(b,a)
[/code]
bei der Ersten Aufgabe kommt alles auch ganz Plausibel heraus. Bei der Zweiten kommt jedoch das folgende raus:
[code]r =
-1/4 + 0i
-1/6 + 0i
1/4 + 0i
-1/9727775195120234 + 260/1351i
-1/9727775195120234 - 260/1351i
p =
-1 + 0i
-1 + 0i
1 + 0i
1/2 + 1170/1351i
1/2 - 1170/1351i
k =
[]
[/code]
Mir ist klar, dass die jeweils letzten beiden Zeilen bei r und p etwas mit einer Quadratischen Funktion zu tun haben. Dies darf ich laut dem Dozenten so leider nicht stehen lassen
Die Lösung der Zweiten Aufgabe soll folgende sein:
-1/4(x+1)-1/6(x+1)²+1/4(x-1)-1/3(x²-x+1)
Da ich langsam daran verzweifle, hoffe ich das ihr hier eine Lösung parat habt.
Danke
Gruß
Nico
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.04.2020, 09:22
Titel:
|
|
Hallo,
du müsstest halt den Vorschlag umsetzen, den ich dir gemacht habe.
Zitat: |
versuch mal, imaginäre Terme der Form a/(x-b) paarweise zu Termen der Form a/(x^2+b*x+c) zusammenzufassen. |
Wenn du die Rechnung nicht händisch machen willst, dann lass sie von MATLAB machen:
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 ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|