问题标签 [equation-solving]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1093 浏览

wolfram-mathematica - 从方程求解方程 Mathematica

好吧,我需要一种方法来通过从 Mathematica 8 中的其他方程得到的另一个 var 来求解方程。示例:

它将为给定值选择最佳方程并解决其余部分。使用一些给定的值,例如a = 1c = 3,它可以求解系统,获取相应变量的值。*将其用于物理公式。

0 投票
4 回答
3439 浏览

php - 求解一级线性方程组的 PHP 算法

我有一个用 PHP 解决的 1 级方程组。方程比变量多,但方程不比变量少。

该系统如下所示。n 个方程,m 个变量,变量是 x[i],其中 'i' 取值从 1 到 m。系统可能有解决方案,也可能没有。m 最大为 100,n 最大为 ~5000(千)。

我将不得不解决数千个这样的方程组。速度可能是个问题,但我现在正在寻找一种用 PHP 编写的算法。

有克拉默规则可以做到这一点。我可以制作 1 个系数方阵,使用 Cramer 规则求解系统(通过计算矩阵的行列式),然后我应该检查未使用方程中的值。我相信我可以自己尝试 Cramer,但我正在寻找更好的解决方案。

这是计算科学的问题, http ://en.wikipedia.org/wiki/Computational_science#Numerical_simulations 我知道有一些复杂的算法可以解决我的问题,但我不知道哪个会做,哪个最好对于我的情况。一个算法会比仅仅通过演示的理论更好地使用我。

我的问题是,有人知道用 PHP 编写的类、脚本、代码来解决 1 级线性方程组吗?或者,我可以尝试 API 或 Web 服务,最好是免费的,付费的也可以。

谢谢

0 投票
1 回答
2063 浏览

maple - 从 Maple 的解决方案中拯救解决方案

我有类似的东西

solutions := solve ( {eqn1=0, eqn2=0, eqn3=0, eqn4=0, ... } )

它返回类似:

solutions := {Ax = -.2312688085, Ay = -7.770329620, Bx = -19.76873119, ....}

如何访问和保存每个解决方案?
“Ax := Solutions[1];”等是唯一的方法吗?

虽然solutions[1] 在上面的例子中没有访问-.2312688085,而是一种字符串“Ax = -.2312688085”,所以我最终得到了“Ax := Ax = -.2312688085”

0 投票
2 回答
10840 浏览

math - 用方程三角坐标

好的,我知道在这里问这听起来很愚蠢,但它与编程有关。

我正在开发一款游戏,我正在考虑实现一个系统,该系统允许用户对他们的 3D 坐标进行三角测量以定位某物(例如,用于某项任务)。我还希望能够让用户使他们用于三角测量的点的坐标具有用户确定的坐标(因此该位置的坐标是相对的,可能通过设置信标或其他方式)。

我有一种计算点之间距离的方法,所以基本上我可以计算三角形/金字塔边的长度以及除了我所追求的坐标之外的所有长度。我已经很久没有做过任何三角函数了,我对 sin、cos 和 tan 函数很生疏,我觉得它们是必需的,但不知道如何实现它们。

谁能给我演示一下我将如何以数学/编程方式进行此操作?

额外信息:我的函数返回两个点之间的确切距离,假设您将两个点分别设置为 0,0,0 和 4,4,0,并且这些点设置为缩放(游戏世界分为一个非常大的 3d 网格,每个“块”区域由 3d 坐标表示)然后它会返回一个大约 5.6 的值。

关于它变化的关键是用户可以设置点,所以说他们设置一个点来读取 0,0,0,实际位置可能是 52,85,93。但是,如果他们然后计算块并正确设置他们的其他点(例如,在实际点 56、89、93 处设置点 4、4、0)然后最终结果将返回相对位置(例如,他们试图定位的对象在实际点 152 , 185, 93,它将返回相对值 100,100,0)。我需要能够计算它知道除了它试图定位的每个点之外的每个点,以及所有点之间的距离。

另外,请不要问为什么我不能只使用真实坐标来计算它,我希望在计算结果时将方程式显示在屏幕上。7

示例:这是一个图表 示例图

想象一下,这些是我在平地上的游戏中的点。我想知道f点。我知道点 d 和 e 以及边 A、B 和 C 的值。

仅使用我知道的数据,我需要找出如何做到这一点。

回复编辑:

经过多天的努力,肖恩·肯尼(Sean Kenny)为我提供了他的时间、耐心和智慧,因此我现在有了一个三角测量方法的工作实施。

我希望在测试时放置代码的不同语言等效项,以便将来的编码人员可以使用此代码而不会遇到与我相同的问题。

0 投票
2 回答
457 浏览

matlab - 如何学习这些matlab语句?

我已被告知我们需要知道哪些陈述,这是我对他们所做的事情的回答。如果我在某处弄错了,请纠正我,并请告诉我如何学习我可能需要的更高级的语句,例如我尚未学习的元素操作的.*and 。.^

上面就像一个数组,一个在语句之后驻留在内存中的向量。

y=[4 5]'

这是一个列向量。

A=[x; y']

分号分隔矩阵的行。

B=sin(A)

这就像一个常规的数学函数。

z=x.*y'

这也就像经典数学/ CS中的一个函数。

c=A\y

这很重要,并且可以解决方程组,但是哪个?原方程如何表述?以上解决了Ay=c吗?请明确说明。

a='Hej'

以上只是一个变量,就像任何其他计算机语言一样。

a(2)='a'

上面将向量 a 的第二个元素设置为字符串 'a'。

v=3:2:9

上面用步骤 2 构造了一个从 3 到 9 的向量。

w=5:3:15

上面用第 3 步构造了一个从 5 到 15 的向量。

t=0:0.05:10;

t 成为 0 到 10 之间的向量,增量为 0.05。

f=t.*exp(2*t);

这就像一个常规的函数定义。

plot(t,f)

这将函数绘制在 y 轴上,将 t 绘制在 x 轴上。

title('Fin kurva');

这只是设置图表的标题。

g=3*t.*sin(t);

这是一个更复杂的函数定义,仍然很容易理解它的作用。

k=cos(t+2)+sin(t.^2);

另一个简单的函数定义。

help XXX % XXX=sin, cos, plot, disp

访问在线帮助系统。

不言自明。

也是不言自明的。

一个普通的for循环

如果您曾经编程过,很容易理解。

所以我想我理解了大部分陈述,但从这个列表中,似乎与研究最相关的是我需要练习如何使用的方程求解器 c=A\y。

0 投票
2 回答
11368 浏览

freepascal - 用 Pascal 计算二次方程的实根

我正在尝试解决这个问题:

(编写一个程序来计算二次方程的实根(ax 2 + bx + c = 0)。根可以使用以下公式计算:

x1 = (-b + sqrt(b 2 - 4ac))/2a

x2 = (-b - sqrt(b 2 - 4ac))/2a

我写了以下代码,但它不正确:

你知道为什么吗?

并采取 a=-6,b=7,c=8 .. 你可以在编写伪代码后进行桌面检查吗?

0 投票
2 回答
346 浏览

regex - 在java中使用解析编写类似于http://integrals.wolfram.com/index.jsp的INTEGRATOR

嗨,作为我项目的一部分,我一直致力于在 java 中使用 reg-ex 评估算术表达式。

表达式是这样的:2+3/4(5+7)

首先我将它修改为:2+3/4*(5+7)

并将其转换为后缀

后缀:23457+*/+

我采用的过程是使用 Reg-Ex 解析所有标记(即整数、运算符、打开括号、关闭括号),然后按它们出现的第 i 个位置进行排序。之后,我将该令牌数组转换为后修复表达式,然后解决该表达式,直到此时一切正常。

现在我想把它扩展到求解微分、积分或求解二次方程。

foe ex:微分或积分表达式 x^2+2*x+2

类似于http://integrals.wolfram.com/index.jsp

是否可以?因为现在我不知道如何进行?

0 投票
2 回答
1577 浏览

c++ - 在 C 中求解多项式系统(4,二阶)

我正在尝试使用 C++ 求解一个由 4 个二阶多项式方程组成的系统。解决系统最快的方法是什么,如果可能的话,你能链接或写一点伪代码来解释它吗?我知道涉及 Groebners 基础或 QR 分解的解决方案,但我找不到关于它们如何工作以及如何实现它们的清晰描述。也许有关多项式的有用信息:

  • 解决方案可能存在也可能不存在,但我只对特定范围内的解决方案感兴趣(例如 [0,1] 中的 x,y,z,t)
  • 多项式的形式为:a + bx + cy + d*x*y = e + fz + gt + h*z*t(求解 x,y,z,t)。所有系数都是唯一的。
  • 多项式方程来自双线性插值。
  • 我已经尝试找到一个精确的解析解决方案,但正如其他人所发布的那样,在 Mathematica 中解决大型多项式系统非常耗时
0 投票
2 回答
1022 浏览

java - 求解圆方程

我正在寻求一些帮助来解决 Java 中的以下方程

x1, y1, r1, x2, y2, r2& x3, y3,的值r3是已知的。我需要解决a, b,r

如何在 Java 中执行此操作?我检查了Commons Maths 库,但没有找到如何实现这一点。不过,它有助于线性方程。

0 投票
4 回答
32907 浏览

java - 具有多种操作的 Java 计算器

到目前为止,我有以下工作正常。我确信可能有一种更简单的方法可以做到这一点,但我需要改变/改变的是 Matheq 的顶级方法。Math 方法执行单个数学运算。

它适用于 +、-、* 和 / 的任何单个操作。

我的问题是求解一个更大的方程,例如 10 - 10 / 5 + 3。但是它确实可以正确求解 10 / 5 + 65 * 2。原因是每个部分,数字和操作,都被拆分为一个字符串数组。每次操作完成后,数字和操作将替换为该等式的结果。可能看起来更混乱,但我想不出更好的方法。它无法解决其他方程的原因是因为我如何将字符串映射回字符串数组。

字符串数组示例 Ex. 与 10 - 10 / 5 + 3 String = { 10, -, 10, /, 5, +, 3 } 运算后先除法然后从左到右减法然后加法 String = { 8, 8, 2, 2, 2, 5, 5 }

这是我的代码,请有人帮助我:

REVISED 已修改,现在它可以与上面一起使用,但对于 LONG 方程仍然存在一些问题。一个简短的例子是它可以很好地解决 2 * 2 * 2 * 2 除以 5 但如果将其更改为 10 - 2 * 2 * 2 * 2 除以 5 我会得到错误的答案。