# Substitute x value in a linear regression equation instead of writing it out?

Thanks to this handy post, I was able to generate a linear regression graph: http://stackoverflow.com/questions/45...

My input thus far in sage 5.9:

r = [[0,76.4], [1,78.5], [2,81.5], [3,87.8],
[4,88.4], [5,92.4], [6,94.0], [7,95.0]]
var('a,b')
(a, b)    #It seems this statement is extraneous
model(x) = a*x+b
find_fit(r, model)
plot(model(a = find_fit(r, model).rhs(),
b = find_fit(r,model).rhs()),
0,15, ymin = 0, ymax = 150)


What would be the most practical way of substituting the x value to generate an answer instead of:

Executing: find_fit(r, model) Then copying and pasting the answer: [a == 2.8690476152412128, b == 76.70833334665576]

And then having to manually write out, where number 15 represents what I wanted to put substitute for x: 2.8690476152412128 * (15) + 76.70833334665576

Also 1 of my other threads has an unsolved question, incase anyone's interested: http://ask.sagemath.org/question/2732...

edit retag close merge delete

BTW, you are right that the (a,b) is extraneous - that's showing the *output* if you do this in the command line.

Sort by » oldest newest most voted

I am not sure to understand your question. Does the following answer it ?

sage: sol = find_fit(r, model)
sage: A,B = (sol.rhs(), sol.rhs())
sage: f(x) = model.subs(a=A, b=B) ; f
x |--> 2.8690476190478367*x + 76.70833333333225
sage: f(15)
119.74404761904981

more