繁体   English   中英

数值解决python或Matlab中的超越方程

Numeric solve transcendental equation in python or Matlab

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个Euler-Bernoulli方程我试图解决其中:

q(x) = a*x + b + w(x)

Euler-Bernoulli方程:

E * I * diff(w(x), x, x, x, x) = q(x) 

我真的不知道这是否是超验,但我有E,I,a,b并且也知道我的积分限制(0到H)。 我有E,I,a,b和H的数字。

如何从0到H获得w(x),x变化x的点?

2 个回复

如果你想象征性地解决它,你可以,例如同情

from __future__ import division
from sympy import *
x = symbols('x')
w = symbols('w', cls=Function)
a,b,E,J =  symbols('a b E J')
equ = E*J*diff(w(x),x,4) - a*x -b - w(x)
dsolve(equ, w(x))
# This generates a function that is too generic and too big to copy-paste
# Let's make some assumptions
J = Symbol('J', real=True, positive=True)
E = Symbol('E', real=True, positive=True)
equ = E*J*diff(w(x),x,4) - a*x -b - w(x)
dsolve(equ, w(x))

这导致:

               -x                 x                                                           
           ───────────       ───────────                                                      
           4 ___ 4 ___       4 ___ 4 ___                                                      
           ╲╱ E ⋅╲╱ J        ╲╱ E ⋅╲╱ J          ⎛     x     ⎞         ⎛     x     ⎞          
w(x) = C₁⋅ℯ            + C₂⋅ℯ            + C₃⋅sin⎜───────────⎟ + C₄⋅cos⎜───────────⎟ - a⋅x - b
                                                 ⎜4 ___ 4 ___⎟         ⎜4 ___ 4 ___⎟          
                                                 ⎝╲╱ E ⋅╲╱ J ⎠         ⎝╲╱ E ⋅╲╱ J ⎠          

鉴于有关边界条件的额外信息,您甚至可以进一步简化。 在任何情况下你都需要它们,因为你仍然有4个未知系数。

让我在Matlab中使用Symbolic工具箱添加一个解决方案:

syms q x w(x) a b E I
q = a*x+b+w(x);
sol = dsolve(E*I*diff(diff(diff(diff(w)))) == q)
sol_part = subs(sol,[E I],[2e5 100]) % etc.

您可以将边界条件作为单独的公式添加到dsolve命令,从而形成方程组。

4 超越方程的数值解法

我想用数字解决一个超越方程。 我已经将函数“ solve”用于解决方案,但是与图形解决方案相比,我的结果有所不同。 我的代码写在下面,我正在发送图形解决方案结果。 其中m为0到2.0之间的变量,间隔为0.5。 图形结果为:m = 0 neff为1.7299,但图形解为1.75 m ...

6 用sympy来解决一个超越方程

经验丰富的Python。 Sympy新手。 我有一个超越方程,f(x)= sin(x) - x。 如果y = f(x),我想解决x知道y。 我认为Sympy可以做到这一点,但我没有经验。 有人可以解释我应该做什么吗? ( Transcendental Equation ...

8 用python找出超越方程的根

我必须解决以下超越方程 COS(X)/ X = C 对于给定的常数c。 例如,我在Mathematica中做了一个简短的代码,在那里我为常量c生成了一个随机值列表 比我定义的功能 并开始寻找根源: 现在我想在python中编写类似的东西(可能使用num ...

9 在R中求解超越方程

是否有解决R中超越方程的函数? 例如,我想解决以下等式 有什么建议么? 我知道解决方案有多个根,所以我也希望能够恢复给定间隔的所有答案 ...

2013-01-28 00:27:09 2 1169   r
10 我如何在R中绘制这个超越方程?

这是关于角度theta的开普勒方程: M=2*atan(tan(theta/2)*c)-e*sin(2*atan(tan(theta/2)*c))其中e=0.2056和c=sqrt((1-e)/(1+e)) M从0 to 2pi 。 我的X值为M,我的Y值为theta。 我应该使用什么 ...

2017-02-18 10:43:15 1 99   r/ plot
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM