草庐IT

拉格朗日方程

全部标签

php - 关于将数学方程式写入代码的建议

我是一名自学成才的开发人员(大约3年了),我想通过学习如何将数学方程式写入代码来提高我的开发技能。这一直困扰着我,我看到许多书籍和文章都附有发光的数学方程式,看起来真的很有趣。我可以读懂其中的一部分(乘法、除法、小数、西格玛、变量),但在用代码实现它们时遇到了麻烦。例如,如何开始理解这些方程式:http://en.wikipedia.org/wiki/Manhattan_distance然后开始用代码编写它们?有什么地方可以推荐吗?这不是代码问题,而是缺乏基本的数学理解吗?我愿意听和读,因为我觉得这种能力对于开发人员来说非常重要。 最佳答案

单摆的动力学建模以及matlab仿真(牛顿法和拉格朗日方程法)

建模牛顿法有空再写拉格朗日方程法首先我们先确定广义坐标,并同时计算出来摆杆的转动惯量接着列拉格朗日方程计算动能(转动动能) 计算势能(取铰链处为零势能高度): 计算L计算拉格朗日方程中的中间量  将上述的中间量带入拉格朗日方程,得到动力学模型:变换一下形式: 当角度较小时我们可以假设角度比较小,因为控制一般都是在平衡点附近。这时,然后得出下面的状态空间方程。当角度较大时经常情况下角度没有那么小,这个时候我们就不能假设,所以就得到非线性的控制系统。所以这个时候我们这样操作,将这个二阶微分方程转化成一阶微分方程组,这样就可以用matlab的ode45微分方程求解器求取数值解,求得的数值解即为系统状

php - 以这种方式处理方程式是否安全?

我正在使用用户提供的字符串,例如“m*0.2”,其中“m”是$value并评估该字符串。允许用户使用4种基本数学运算符、小数和负数。省略任何使用其他任何东西的尝试。$equation=$metric['formatter'];$equation=preg_replace("/[^0-9*m.\/\+\-]/","",$equation);//stripsextraparamsif(strlen($equation)>1){$equation=str_replace("m",'$value',$equation);$code='$newValue='.$equation.';';if(v

PHP - 解析字符串中的数学方程式

我正在努力寻找执行此操作的最佳方法。基本上,我会得到类似这样的字符串,任务是打印出经过数学分析的字符串。jack有[0.8*100]%的机会通过测试。凯蒂有[(0.25+0.1)*100]%的几率。数学方程总是用方括号括起来。为什么我要像这样处理字符串是一个很长的故事,但我非常感谢您的帮助! 最佳答案 PHP有很多数学计算库。快速网络搜索出现thisone.编写您自己的解析器也是一种选择,如果只是基本的算术运算,应该不会太困难。有了那里的资源,我会远离这个。您可以采用更简单的方法并使用eval.请注意先清理您的输入。关于evaldo

java - 找出方程中的单个未知数

我需要一个库来解析一个方程式,并根据输入给出结果。例如这样的事情:Stringequation="5=6/z";EquationSolversolver=newEquationSolver(equation);doubleresult=solver.getResult();System.out.println("result:"+result);评估为:6/5是否有任何类型的Java库可以为我做这件事?基本上我需要程序来隔离任意方程中的单个未知变量...谢谢托马斯 最佳答案 您正在寻找的是计算机代数系统。Wikipedia列出一些选

java - 为简单的支持 vector 机计算拉格朗日乘数

首先,我是支持vector机的初学者,所以如果我以错误的方式解决这个问题,我深表歉意。我正在尝试从头开始实现一个非常简单的SVM,它使用身份核函数将线性可分数据分类为两个类之一。作为我将使用的数据类型的示例,请考虑下面在thisdocument中看到的图表。:使用点(1,0)、(3,1)和(3,-1)作为支持vector,我们知道以下关于计算决策平面是正确的(来自同一文档的屏幕截图):当稍微调整和重新排列时,我们分别得到-3.5、0.75和0.75的拉格朗日乘数。我理解这个代数在纸面上是如何工作的,但是我不确定在实现时的最佳方法。所以我的问题如下:SVM的LagrangeMultipl

java - 线性方程java

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我正在尝试将下面的等式转换为编程代码。目的是找到两条线的交点。并提示(y1-y2)x-(x1-x2)y=(y1-y2)x1-(x1-x2)y1(y3-y4)x-(x3-x4)y=(y3-y4)x3-(x3-x4)y3有人告诉我使用cramers规则,但cramers规则有6个diff变量。我将从4个不同的点开始作为8个变量(x1、y1、x2、y2、x3、y3、x4、y4)我正在使用Java。任何帮助,将不

java - 计算 2 个相关方程的解数

如何找到解决方案的数量s=a+bx=a^b当给定s和x时,^表示xor?那么对于(0,0)或(31,31)或(15,10)呢?我试过将x转换成二进制字符串,但之后我不确定该把它放在哪里。 最佳答案 如果没有解决方案,方法solution返回null。如果有解决方案,它返回a(仅针对一个解决方案)。您可以通过执行s-a或x^a来获得b。如果存在解决方案,则解决方案的总数(long)是2的Long.bitCount(x)次方。例如,s=24,x=6的解是a=9,b=15。二进制:9=100115=1111这些数字在2个位置不同,因此总共

java - 用于查找具有任意数量变量的任意数量线性方程的任意解的库

我必须找到具有任意数量变量的任意数量的给定线性方程的任意解(可能存在很多或不存在)。在java。使用什么库和方法?实现什么?我想尽可能少地工作。 最佳答案 试试ApacheCommons数学求解器http://commons.apache.org/math/userguide/linear.html 关于java-用于查找具有任意数量变量的任意数量线性方程的任意解的库,我们在StackOverflow上找到一个类似的问题: https://stackoverf

java - 数学方程式在 Java 中是如何工作的?

当我做这样的事情时inttest=5+3*(4-1)/2;我得到9。我怀疑这是因为int向下舍入。但是,当我这样做时floattest=5+3*(4-1)/2;我也得到9。但是,当我这样做时floattest1=5;floattest2=4.5;floattest=test1+test2;测试最终输出9.5。有人可以解释这背后的逻辑吗?为什么我在第二个例子中得不到9.5?谢谢。 最佳答案 在您的第二个示例中,尽管您将结果赋值给float类型的变量,但计算本身的执行方式仍与第一个示例完全相同。Java不查看目标变量类型来确定如何计算右