Expand piecewise function

hawe shared this question 1 month ago
Answered

Hallo zusammen,


I got a piecewise defined function as


If((-10) ≤ x ≤ (-5),(((-127)) / 1525 * (x + 10)^(3)) + (186 / 305 * (x + 10)^(2)) + (63 / 61 * (x + 10)))


how I can Expand the function term


expand(((-127)) / 1525 * (x + 10)^(3)) + (186 / 305 * (x + 10)^(2)) + (63 / 61 * (x + 10))

to


(((-127)) / 1525 * x^(3)) - (576 / 305 * x^(2)) - (717 / 61 * x) - 730 / 61

Comments (6)

photo
1

Salut hawe! :-)


Versuch mal anstelle des Expand- bzw. des Multipliziere-, den Polynom- bzw. Polynomial-Befehl, also sowas hier:


Polynom(((-127)) / 1525 * (x + 10)^(3)) + (186 / 305 * (x + 10)^(2)) + (63 / 61 * (x + 10))


Gruß

mire2


EDIT:

Siehe hier: https://wiki.geogebra.org/de/Polynom_(Befehl) bzw. https://wiki.geogebra.org/e...

photo
1

oder via CAS, das mit rationalen Zahlen umgehen kann

photo
1

Nein, das ist es nicht...

Expand, Polynom usw. gehen nicht in die IF-Clause rein um die Funktionsgleichung anzupacken.


Der Hintergrund ist https://www.geogebra.org/ma...

Ich erstelle in Javascript kubische Splines die ich in IF-Clauses zur abschnittweisen Darstellung ausliefere. Wenn ich die Funktion ohne IF und mit Expand ausliefere bekomme ich unterschiedliche Funktionen - warum auch immer?


Deshalb will ich die Funktion im Algebrafenster aus der IF-Clause entnehmen, damit die komplette Parabel dem Abschnitt exakt entspricht...


Ich hab jetzt die Funktion als Text rausgepuhlt


Take(Text(f_2, false),IndexOf(", ", Text(f_2, false))+1)

>" -0.08(x + 10)³ + 0.61(x + 10)² + 1.03 (x + 10))"

und mit ParseToFunction ein Polynom erzeugt und das gleiche Problem wieder.


Ich glaub, dass ist ein Rundungsproblem - wenn ich die IF-Funktion im CAS rauspule und Expand(iere), dann passt die Parabel exakt auf das Teilstück - wenn ich das im Algebrafenster mache kommt es zu Ungenauigkeiten....

photo
1

Hmm, mal blöd gefragt.

Ist es Dir denn vielleicht möglich, den Polynom-Befehl innerhalb der IF-Clause einzusetzen, also sowas hier:


If((-10) ≤ x ≤ (-5),Polynom((((-127)) / 1525 * (x + 10)^(3)) + (186 / 305 * (x + 10)^(2)) + (63 / 61 * (x + 10)))) 
Gruß

mire2

photo
1

Try changing the rounding to 13sf (at the moment it's set to 2dp in this file https://www.geogebra.org/ma...)

photo
1

Hallo zusammen,


es ist tatsächlich ein Rundungsproblem.


Michaels hint fits the problem but it looks terrible ;-)


How to force decimal numers


/Afk2IlxyxUpYAAAAAElFTkSuQmCC

This Polynoms match the grid point...

© 2019 International GeoGebra Institute