2015-12-08 20:47:19 +0200 | received badge | ● Famous Question (source) |
2015-05-09 08:48:02 +0200 | received badge | ● Popular Question (source) |
2015-05-09 08:48:02 +0200 | received badge | ● Notable Question (source) |
2013-09-06 00:36:46 +0200 | received badge | ● Supporter (source) |
2013-09-06 00:34:02 +0200 | commented answer | A very nonlinear system of three equations Thanks. I suspect that some or all of this is Python code, and I know absolutely nothing about Python. (I'm a decent Perl coder, though.) The Sage Reference Manual has information about maple.fsolve and qfsolve, but nothing about plain old fsolve. |
2013-09-06 00:27:39 +0200 | commented answer | A very nonlinear system of three equations Thanks! That works well enough. My first attempt gave an unexpected answer: model(x) = c+b*a^x find_fit([(2,10), (4,6), (5,5)], model) [a == -0.39038820320220763, b == 30.965434844830888, c == 5.2807764064044145] which is correct as far as it goes, but raising -0.39 to non-integer values of x results in a complex number. Giving it a non-default initial guess sussed out the expected answer: model(x) = c+b*a^x find_fit([(2,10), (4,6), (5,5)], model, initial_guess=(1,1,3)) [a == 0.6403882032022076, b == 16.534565155169098, c == 3.219223593595585] and I'm pleased with the accuracy of the result. Since this can be done with only two lines of code, I consider it more elegant than the fsolve approach (above). |
2013-09-05 04:15:08 +0200 | asked a question | A very nonlinear system of three equations Here's a fun little problem: determine the exponential curve f(x) = c + ba^x defined by three points, (2,10), (4,6), and (5,5). The system of three equations and three unknowns is 10 = c + ba^2 6 = c + ba^4 5 = c + ba^5 It's not that hard to solve numerically. With a little algebraic substitution and iteration, the answer turns out to be a = 0.640388203 b = 16.53456516 c = 3.219223594 But is there a more elegant way to use Sage to arrive at this result? I'm stumped. |