Ask Your Question
1

Different syntax to solve

asked 2016-05-11 07:32:54 +0100

Sukrit-Gupta gravatar image

I've below equation( j.mp/sage_emi ) involving 4 variables. I've fixed 3 variables' values, but can't get the 4th variables' value (both, including numerical). Can someone fix the code? Manually, I can get the answer for emi as 1210/21.

P, emi, rate, duration = var("P emi rate duration")
eq1 = P = emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
solve([eq1, P == 100, duration == 2, rate == 10], emi)

It would be helpful if someone writes 2,3 different sage code to achieve the same above objective.

I'm just curious can we do this:

solve([eq1], rate)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2016-05-11 16:08:41 +0100

ndomes gravatar image
P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
eq2 = eq1.subs(P=100,duration=2,rate=10)
solve(eq2, emi)

Please note the double equal sign ( == ) between P and emi* ...

edit flag offensive delete link more

Comments

Thanks for the neat code. Can you please explain why the below code doesn't work:

P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
eq3 = P == 100
eq4 = duration == 2
eq5 = rate == 10
sol = solve([eq1, eq3, eq4, eq5], emi)

It looks like 4 equations, and only one variable to solve.

Sukrit-Gupta gravatar imageSukrit-Gupta ( 2016-05-13 20:02:36 +0100 )edit
0

answered 2016-05-15 06:03:29 +0100

Sukrit-Gupta gravatar image

Apart from the good answer given by @ndomes , here are some codes:

In eq1, correct the sign between P and emi (and I think the number of "variables to solve for" should be atleast equal to number of equations to get a solution):

P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
solve([eq1, P == 100, duration == 2, rate == 10], [emi, P, duration, rate])

The below code is same but visually different:

P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
eq3 = P == 100
eq4 = duration == 2
eq5 = rate == 10
solve([eq1, eq3, eq4, eq5], [emi, P, duration, rate])
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-05-11 07:32:54 +0100

Seen: 364 times

Last updated: May 15 '16