我希望求解返回t1的值,这是唯一的未知变量。但它会返回(%o3) []
而我不明白为什么。
find_root执行预期的操作并返回t1的值,但我想了解问题的根源。
kill(all);
CIFV(K,r,t,m):= K*(1+r/m)^(t*m);
eq1: (CIFV(1000,0.06,t1,2)=1500);
solve(%,t1);
find_root(eq1,t1,0,100);
答案 0 :(得分:1)
我认为问题在于solve
是为了解决代数方程而你的方程有未知的指数。
给定等式2 ^ x = 3 solve
将正确地给出[x=log(3)/log(2)]
。
但是,等式1.5^x=1
将被解释为(3/2)^x=1
的缩写,最终会得到结果[3^x=2^x]
。
解决方法是以符号方式解决方程式,然后替换后的值。
(%i13) solve(CIFV(K,r,t,m)=1500,t);
(%o13) [t=log(1500/K)/(m*log(r/m+1))]