我是一名计算机科学第一学期的学生,所以我对这件事还不熟悉。我正在做一个程序,把百分比(只有1-100)转换成最小分母的分数。这样做的代码工作得很好,但是,它拒绝继续“重试?”底部的部分。当我运行代码时,它达到了最低的部分,但似乎被困在了一个循环中,就像当我中断它时,它说“
Traceback (most recent call last):
File "C:\Users\dnktn\AppData\Roaming\Python\Python38\site-packages\sympy\utilities\misc.py", line 542, in as_int
r
我试图把python中的指数函数分开。
import sympy as sym
from sympy.abc import t
from sympy import exp
u = (3*(exp(4*t) - 1)*exp(-4*t))/4
apart = sym.apart(u, t)
print(apart)
但我知道错误是:
exp(4*t)包含一组生成器的元素。
我尝试使用"if/else“工具修改数学函数g= x³的图像。 我需要当我的函数图像大于0时,结果保持不变,但如果图像是其他的,我希望图像成为1/g的结果。 在那一刻,我尝试了一下: from sympy import *
from sympy.abc import x
g = x**3
if g > 0:
g = g
else:
g = 1/g
plot(g) 但它给我的答案是: File "c:/Users/Anticrate/Desktop/PYTHON Sauvegardes/tes7.py", line 8, i
我有一个关于在python的sympy.solvers中解决多项式的小问题。我想要的是找到有理根,而不是无理根。我的尝试如下所示- from sympy.solvers import solve
from sympy import Symbol
from fractions import Fraction
b_2=0
b_4= -10
b_6=32
b_8=-25
x_2p=-7/4
x = Symbol('x', real=True)
solution=solve(((4*x**3+b_2*x**2+2*b_4*x+b_6)*x_2p-(x**4-b_4*x**2-2
我一直在使用Python计算数学方程式。例如:
from sympy import Symbol, Derivative, Integral
x = Symbol('x')
d = Symbol('d')
Integral(8*x**(6/5)-7*x**(3/2),x).doit()
这将导致输出:
3.63636363636364*x**2.2 - 2.8*x**2.5
有没有办法将这个答案显示为分数而不是小数?我希望看到如下输出:
(40/11)*x**(11/5)-(14/5)*x**(5/2)+C
在Python中使用符号计算
import sympy
from cmath import *
from mpmath import arg, cplot
z = sympy.symbols('z')
fhandle='z**2'
g = lambda w: sympy.sympify(fhandle).evalf(subs={z: w})
g(1+2j)
# Returns: -3.0 + 4.0*I
# hence the next command fails, because I is expected to be 1j
cplot(g, [-3,
我只是同情地看了一下,看上去非常慢。我做错了什么吗?
from sympy.matrices import zeros
from time import time
import numpy as np
t = time()
M = zeros(500,500)
print("Time", time()-t)
t = time()
M = np.zeros((500,500))
print("Time", time()-t)
Sympy需要1.2秒,numpy需要0.0006秒。这里什么都没发生。为什么要花这么长时间?
编辑:我真正想要的是一个库,在这里我可以
我有这样的代码:
import sympy as smp
a = smp.Rational(1/3)
print('1/3: ', a)
a = smp.Rational(1/6)
print('1/6: ', a)
a = smp.Rational(1/2)
print('1/2: ', a)
a = smp.Rational(1/4)
print('1/4: ', a)
这一结果:
1/3: 6004799503160661/18014398509481984
1/6: 6004799503160661/360287970
我有一个使用Sympy求解符号矩阵方程的程序,变量名是用户提供的。我发现如果在任何方程式中使用're‘,我都会得到一个错误。任何其他符号名称,甚至'Re',都可以。我已经把它归结为一个快速的测试用例。我使用的是Python 3.7.4和Sympy 1.5.1
import sympy
xe, Re, re = sympy.symbols('xe Re re')
# This is fine
eqn = sympy.sympify('(xe+3)*(Re+1)')
print("eqn=", eqn)
# This fai
我在MacBook Pro 2015上使用MacOSX Mojave 10.14.6。所以我安装了sympy,对吧? 我打开我的外壳,运行python3,然后执行以下操作: $python3
Python 3.7.4 (v3.7.4:e09359112e, Jul 8 2019, 14:36:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more in
我正在尝试从Sympy的自动捕获模块(包括带有Cython语言的矩阵/向量产品)执行简单的示例(因为我没有安装gfortran ):
import sympy.utilities.autowrap as aw
from sympy.utilities.autowrap import autowrap
from sympy import symbols, IndexedBase, Idx, Eq
A, x, y = map(IndexedBase, ['A', 'x', 'y'])
m, n = symbols('m n', int
我正在尝试将Octave 4.2.2与Symbolic pkg v.2.9.0一起使用,但我得到了这个错误,这是与渐近包相关的:
Your kit looks good for running the Symbolic package. Happy hacking!
>>
>> syms
Symbolic variables in current scope:
>> a = sym( "a" );
Symbolic pkg v2.9.0: /home/usuario/.local/lib/python3.6/site-packages/s
我目前正在使用Sympy来帮助我执行数学计算。现在,我正在尝试执行数值积分,但每次运行脚本时都会出现错误。下面是脚本:
from sympy import *
cst = { 'qe':1.60217646*10**-19, 'm0':N(1.25663706*10**-6) }
d = 3.6*10**-2
l = 20.3*10**-2
n = 217.0
I = 10.2
# Circum of loops
circ = l/n;
# Radius
r = N( circ/(2*pi) )
# Flux through a ring a distanc