我需要一些帮助来计算:
10**7342345.54334 % m
Run Code Online (Sandbox Code Playgroud)
我在python中计算它,但结果太大了
pow(10,7342345.54334,m)
Run Code Online (Sandbox Code Playgroud)
无法使用,因为所有参数必须是整数.如果我将此十进制值转换为整数,则答案会更改.
我一直在尝试使用 ggplot 和 geom_smooth 为我的数据拟合指数曲线。我正在尝试复制类似问题的答案(geom_smooth 和指数拟合),但不断收到以下错误消息:
> exp.model <-lm(y ~ exp(x), df)
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
NA/NaN/Inf in 'x'
Run Code Online (Sandbox Code Playgroud)
我不明白错误,因为数据集中没有 NA/NaN/Inf 值:
>df
x y
1 1981 3.262897
2 1990 2.570096
3 2000 7.098903
4 2001 5.428424
5 2002 6.056302
6 2003 5.593942
7 2004 10.869635
8 2005 12.425793
9 2006 5.601889
10 2007 6.498187
11 2008 6.967503
12 2009 5.358961
13 2010 3.519295
14 2011 7.137202
15 2012 19.121631 …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现指数回归函数。sp 代表 sympy。我使用 numpy 和 sympy。首先,在 func_exp 中我尝试使用 np.exp 但它生成了一个错误(属性错误),所以我决定使用 sympy 代替。嗯,这是代码
\n\nimport numpy as np\nfrom numpy.linalg import matrix_rank\nimport scipy \nimport scipy.integrate\n\nimport random \n\nimport matplotlib.pyplot as plt\nimport matplotlib as mpl\nfrom mpl_toolkits.mplot3d import Axes3D\n\nfrom sympy import integrate\nimport sympy as sp\n\nx, y = sp.symbols(\'x, y\')\n\nsp.init_printing(use_unicode=True,use_latex=\'mathjax\')\ndef exponential_regression (x_data, y_data):\n def func_exp(x, a, b):\n return a*sp.exp(b*x)\n popt, pcov = scipy.optimize.curve_fit(func_exp, x_data, y_data)\n a = popt[0] # componente a, Par\xc3\xa1metro \xc3\x93PTimo (popt).\n b = popt[1] # componente b, Par\xc3\xa1metro \xc3\x93PTimo (popt).\n plt.figure()\n puntos = …Run Code Online (Sandbox Code Playgroud) 我希望能够将整数值传递给函数 - e^x 并返回结果。基于 e^x 的递归关系。有人可以帮我弄这个吗?
提前致谢。
我试图将指数衰减线(带有误差线)绘制到价格信息的ggplot中的散点图上.我目前有这个:
f2 <- ggplot(data, aes(x=date, y=cost) ) +
geom_point(aes(y = cost), colour="red", size=2) +
geom_smooth(se=T, method="lm", formula=y~x) +
# geom_smooth(se=T) +
theme_bw() +
xlab("Time") +
scale_y_log10("Price over time") +
opts(title="The Falling Price over time")
print(f2)
Run Code Online (Sandbox Code Playgroud)
关键是在geom_smooth命令中,formula=y~x 尽管这看起来像一个线性模型,ggplot似乎会自动检测我的scale_y_log10并记录它.
现在,我的问题是日期是日期数据类型.我想我需要将它转换为秒,因为t = 0才能应用表格的指数衰减模型y = Ae^-(bx).
我相信这是因为当我尝试y = exp(x)之类的东西时,我得到一条消息,我认为(?)告诉我,我不能接受日期的指数.它写道:
Error in lm.wfit(x, y, w, offset = offset, singular.ok = singular.ok, :
NA/NaN/Inf in foreign function call (arg 1)
但是,log(y) = x正常工作.(y是数字数据类型,x是日期.)
有没有一种方便的方法可以在geom_smooth(公式=公式)函数调用中的ggplot图中拟合指数增长/衰减时间序列模型?
我一直在为泰勒级数编写程序,并使用long double作为数字格式来允许计算大数。对于正指数,我的程序工作得很好,但是对于负指数,它会失败。问题是,当我为某些x计算exp(-x)时,我得到的正数非常大。这可能是什么原因?感谢您的帮助。您可以在这里看到我的代码:
#include <stdio.h>
#include <math.h>
//We need to write a factorial function beforehand, since we
//have factorial in the denominators.
//Remembering that factorials are defined for integers; it is
//possible to define factorials of non-integer numbers using
//Gamma Function but we will omit that.
//We first declare the factorial function as follows:
long double factorial (double);
//Long long integer format only allows numbers in the order of 10^18 so
//we shall use the sign bit in order to increase …Run Code Online (Sandbox Code Playgroud) 我输出像下面的浮点数.
0.00035074062222222
0.00042088874666667
0.00042088874666667
0.00056118499555556
Run Code Online (Sandbox Code Playgroud)
但我希望上面的数字应该如下所示,
3.51E-05
4.21E-05
4.89E-05
5.61E-05
Run Code Online (Sandbox Code Playgroud)
我是指形式指数格式.我在网上冲浪.我找不到任何解决方案.
它可能在PHP吗?如果是的话怎么做?
作为问题,我不明白为什么我们需要一些算法,如指数通过平方或模幂运算来计算数字的幂.
例如,我有一个重复的乘法算法,如下所示:
def expt_mul(a, n):
r = 1
for i in xrange(n):
r *= a
return r
Run Code Online (Sandbox Code Playgroud)
a乘以n倍,因此复杂度为O(n),为什么效率不高?
我正在尝试从我的数据中拟合指数函数。我对将数学函数拟合到我的数据还不是很有经验。下面是我现在的代码。
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
my_x = (4,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40)
my_y = (0.022172333,0.020881,0.017729,0.021641333,0.02479,0.030755667,0.037235,0.048389,0.068451,0.06898974,0.161409,0.242802333,0.316012667,0.440762333,0.569118333,0.7016839,0.832527333)
def myfunc(x,a,b,c):
return a*np.exp(b*x)+c
p=[my_x,0.0045,0.1262,0] #pre-determined a=0.0045, b=0.1262, c=0 according to excel
popt, pcov = curve_fit(myfunc,my_x,my_y, p0=p)
plt.plot (my_x,myfunc(my_x, *popt))
Run Code Online (Sandbox Code Playgroud)
我得到的错误消息如下。
return function(xdata, *params) - ydata
TypeError: myfunc() takes 4 positional arguments but 5 were given
Run Code Online (Sandbox Code Playgroud)
我认为我不太明白这个错误信息在说什么。谁能帮助我了解导致此错误的原因以及如何改进我的代码?
我从www.nasdaq.com下载了TESLA股票;下载CSV文件后,我意识到我需要使用Microsoft Excel 2016转换CSV。然后单击“文本到列”。标头现在很清楚,它们是:日期,收盘价,成交量,开盘价,最高价,最低价。请在此处查看csv文件。LinK:https://drive.google.com/open ? id = 1cirQi47U4uumvA14g6vOmgsXbV-YvS4l
Preview (The CSV data is from 02/02/2017 until 02/02/2018):
1. date | close | volume | open | high | low |
2. 02/02/2018 | 343.75 | 3696157 | 348.44 | 351.95 | 340.51|
3. 01/02/2018 | 349.25 | 4187440 | 351.00 | 359.66 | 348.63|
Run Code Online (Sandbox Code Playgroud)
我面临的挑战是创建每个月的数据指针,并使其尽可能接近每月的第一天。我过滤了excel文件,这就是我得到的数据。
- date | close
- 01/02/2018 | 349.25
- 02/01/2018 | 320.53
- 01/12/2017 | 306.53
- 01/11/2017 | 321.08
- 02/10/2017 | 341.53 …Run Code Online (Sandbox Code Playgroud) exponential ×10
python ×5
ggplot2 ×2
r ×2
algorithm ×1
csv ×1
forecasting ×1
function ×1
modulus ×1
numbers ×1
numpy ×1
pascal ×1
php ×1
python-3.x ×1
regression ×1
sympy ×1
time-series ×1
turbo-pascal ×1