哪种编程语言或库能够处理无穷级数(如几何或调和)?它可能必须有一个知名级数的数据库,并在收敛的情况下自动给出适当的值,并可能在发散的情况下生成一个异常。
例如,在Python中,它可能如下所示:
sum = 0
sign = -1.0
for i in range(1,Infinity,2):
sign = -sign
sum += sign / i
然后,sum必须是math.pi/4,而不需要在循环中进行任何计算(因为它是众所周知的sum)。
我试着用Sympy来找出这个序列的极限
((-1)**(n))*(2**(-n))
使用PyCharm调试器和IPython控制台。
python模块是:
import numpy as np
from plotly.graph_objs import Scatter, Figure
from sympy import Symbol, srepr, limit_seq, oo
from sympy.abc import n
import plotly.plotly as py
py.sign_in('****', '**********
我想在python中用符号代数计算阶乘和。我可以生成的问题的最简单版本是:
from sympy.abc import j
from math import factorial
from sympy import summation
summation(factorial(j), (j, 1, 4))
我得到了以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "sympy/core/expr.py", line 194
我的脑海里有一个数学表达式,我想把它写在纸上,但我不确定具体怎么做。我知道我需要使用sigma,但我不确定应该是什么功能。我知道如何为它写一段python代码,所以我把它写出来了,但我仍然不确定如何把它写成一个数学函数。代码如下:
def multiply_sum(integer):
whatever = 1
final = 0
for i in range(1, integer + 1):
whatever = whatever * 2
final += whatever
我知道如何执行pow(双x,整数y)
public class Solution {
public double myPow(double x, int n) {
if (n == 0)
return 1;
if (n % 2 == 0) {
return myPow(x * x, n / 2);
} else {
if (n > 0)
return x * myPow(x, n - 1);
else
如何用Matlab制作一个特定的脉冲函数,如图中的函数:
我有一个生成脉冲的函数,但我想像上图那样生成
clear all; clc; close all
% Step 1: Calculate Fourier Transform Coefficients
N = 101; % Number of coefficients
D = [];
% Negative Coefficients
for n = -(N-1)/2 : -1
D = [D (1/(n*pi))*sin(n*pi/2)];
end
% Append D0
D0 = 0.5; D = [D D0];
% Positi
我试图编写一个Python程序,它将使用Taylor级数对用户定义的长度(例如,小数点100位)产生一个近似的e,并打印所有100位数字。但是,输出永远不会超过小数点15位,这是python对numpy.e的默认精度。我怎么能解决这个问题?下面是我使用的代码。
import math
precision = int(input("Number of decimal places = "))
e = 0
s = 1
i = 1
while s > (10**(-1*precision)):
e = e + s
s = 1/math.factorial(i)
这是我在Project上的第一个问题的python解决方案:
n = 1
rn = 0
while n < 1000:
if n%3 == 0 or n%5 == 0:
rn += n
n = n + 1
print(rn)
我想找到一种方法来保持这个python代码中的所有内容尽可能少的行(甚至一条线?),并可能提高速度(目前大约是12 ms)。顺便说一句,这就是问题所在:
如果我们列出所有低于10的自然数,它们是3或5的倍数,我们得到3,5,6和9。这些倍数之和是23。找出低于1000的3或5倍数之和。
有什么建议吗?
谢谢。
我是Python的新手,正在尝试用级数近似正弦函数。
我的代码如下所示:
import math
def sin(x,n):
sine = 0
for i in range(n):
sign = (-1)**i
sine = sine + ((x**(2.0*i-1))/factorial(2**i-1))*sign
return sine
这并没有返回我希望的答案,但我非常困惑,找不到我的错误……也可能我只是在以完全错误的方式来做这件事(正如我所说的,我对python和一般的编程都是非常陌生的)。
它似乎类似于我不久前编写的程序,以近似给定级数的π:
def piApprox
为什么我的傅里叶不能正常工作?我在哪里弄错了?我写的时间域是否正确?我使用的信号方程是:
f = 5; %fixed signal frequency
fs = 100; %fixed sample frequency (100Hz)
A=1; %fixed amplitude (1)
l=1; % (sec) fixed signal length
k = app.FourierSerieslength.Value; %myFourier series length is 1 to 21
t = 0:1/fs:l-1/fs;
% y = A*sin
我有这个python代码来查找最长的子字符串。我试图找出它的渐近运行时间,我得到了一个答案,但我不确定它是否正确。以下是代码:
def longest_substring(s, t):
best = ' '
for s_start in range(0, len(s)):
for s_end in range(s_start, len(s)+1):
for t_start in range(0, len(t)):
for t_end in range(t_start, len(t)+1):
我有一个问题从学校来模拟摆的运动,基于泰勒级数展开。
角频率d2θdt2=−m G R sin(θ)
我对蟒蛇很陌生。我现在知道如何用欧拉法进行模拟了。
for n in range(N_t):
u[n+1] = u[n] + dt*v[n]
v[n+1] = v[n] + dt*(m*g*r/I)*sin(u[n])
如何用taylor展开来模拟呢?我应该只按下面的代码运行它吗?
f′′(x0) = 2a2