回 帖 发 新 帖 刷新版面

主题:[讨论]求解三元二次方程,请问错在哪里?

A = 840 * 10 / (810 - 1.98 * T)
 S = 30000
 S = A * T * T / 2
 PRINT "T="; T
求解三元二次方程,请问错在哪里?

回复列表 (共13个回复)

沙发

建议你先去学学QB的基本语句
S=30000
这是一个动作,而不是数学上的一个关系等式,明白吗?

前面三行,只能是一个题目,
而如何去解这个方程,建议你先从数学上的方法去做,
再从编程的角度去看,怎样把数学的方法换成代码.

板凳


    请网友们不要误会,我并不是要学 QBasic,而是临时要用一下,意在在 S 赋予不同值时,解关于 T 的三元二次方程组,请务必帮忙,多谢!

3 楼

你的
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 楼

过程是对的,您用的是代入法,使之变为一元方程,这样一来就失去了计算机的优势,能否让计算机完成这一复杂过程?使得给任意两个变量赋值,求另一未知数。

5 楼

这样一来就失去了计算机的优势,能否让计算机完成这一复杂过程?

这一句说得好,妙极。

6 楼

CCCCC

7 楼

那就用递归方法实现。

8 楼


太复杂了吧?

9 楼

还是不懂楼主的意思,是怎样的方程啊?

10 楼

错误的原因是QB里头把那些没有被赋值的变量默认赋为0,所以你那样子的结果一定是0r 

我来回复

您尚未登录,请登录后再回复。点此登录或注册