主题:[讨论]求解三元二次方程,请问错在哪里?
kxzyf
[专家分:0] 发布于 2006-08-29 21:15:00
A = 840 * 10 / (810 - 1.98 * T)
S = 30000
S = A * T * T / 2
PRINT "T="; T
求解三元二次方程,请问错在哪里?
回复列表 (共13个回复)
沙发
moz [专家分:37620] 发布于 2006-08-29 23:07:00
建议你先去学学QB的基本语句
S=30000
这是一个动作,而不是数学上的一个关系等式,明白吗?
前面三行,只能是一个题目,
而如何去解这个方程,建议你先从数学上的方法去做,
再从编程的角度去看,怎样把数学的方法换成代码.
板凳
kxzyf [专家分:0] 发布于 2006-08-30 08:20:00
请网友们不要误会,我并不是要学 QBasic,而是临时要用一下,意在在 S 赋予不同值时,解关于 T 的三元二次方程组,请务必帮忙,多谢!
3 楼
redraiment [专家分:290] 发布于 2006-08-30 16:38:00
你的
A = 840 * 10 / (810 - 1.98 * T)
S = 30000
S = A * T * T / 2
是不是可以理解为
∵S = A * T * T / 2
又∵S = 30000
∴ A * T * T / 2 = 30000
∵A = 840 * 10 / (810 - 1.98 * T)
∴840 * 10 * T * T / [(810 - 1.98 * T) * 2] = 30000
划简一下就是7*T^ + 3.96*T - 1620 = 0
是一个一元二次方程嘛
4 楼
kxzyf [专家分:0] 发布于 2006-09-01 07:31:00
过程是对的,您用的是代入法,使之变为一元方程,这样一来就失去了计算机的优势,能否让计算机完成这一复杂过程?使得给任意两个变量赋值,求另一未知数。
5 楼
moz [专家分:37620] 发布于 2006-09-01 14:37:00
这样一来就失去了计算机的优势,能否让计算机完成这一复杂过程?
这一句说得好,妙极。
6 楼
高越123 [专家分:0] 发布于 2006-09-02 20:23:00
CCCCC
7 楼
redraiment [专家分:290] 发布于 2006-09-15 18:11:00
那就用递归方法实现。
8 楼
kxzyf [专家分:0] 发布于 2006-10-06 15:08:00
太复杂了吧?
9 楼
hs3180 [专家分:530] 发布于 2006-10-06 19:41:00
还是不懂楼主的意思,是怎样的方程啊?
10 楼
野生大白菜 [专家分:120] 发布于 2006-10-07 09:00:00
错误的原因是QB里头把那些没有被赋值的变量默认赋为0,所以你那样子的结果一定是0r
我来回复