我确定我以前在学校有这个,但我不记得这个叫做什么.
我有任意数字,我需要知道我可以将它乘以0.9(或任何其他值0-1)多少次,直到距离原始数字小于x.
它采用循环格式,如下所示:
num = 4654;
mult = 0.9;
limit = 140;
count = 0;
while(num >= limit){
num *= mult;
count++;
}
Run Code Online (Sandbox Code Playgroud)
但这是否可以在没有循环的情况下完成?有对数的东西?
from numpy import *
from pylab import plot,show
q=10
time = range(q)
mlist=empty(q)
nlist=empty(q)
m=.9
n=(m+(1e-6))
b=3
for t in range(q):
mlist[t]=m
nlist[t]=n
m=(b*(1-m)*m)
n=(b*(1-n)*n)
zlist = mlist-nlist
zlist = abs(zlist)
plot(time, log(zlist))
show()
Run Code Online (Sandbox Code Playgroud)
然后我想绘制时间图,log(zlist)
每次我运行程序时,都会收到此错误."plot(time,log(zlist))TypeError:只能将length-1数组转换为Python标量"
任何想法如何使zlist不是一个数组所以我可以采取日志,或者只是我的程序出了什么问题?其他一切都很好,只有一个问题.(仅供注意,我已导入pylab,numpy和数学)
编辑:q值相对不重要,但理想情况下最终会在500-1000范围内上升.并且m和n必须在0和1之间,b必须在0和4之间.
编辑X2:它似乎现在正在工作,我不知道为什么,但它可能是a)从数学导入日志,或b,负值问题,但无论如何,它运作良好.谢谢所有贡献的人!
我正在使用Perl创建一个迷你搜索引擎.虽然这样做我正在使用一个带有日志到基数10的公式.但是对于某些值我得到一个错误:
不能记录-9.4351e + 0.007的日志.
无法跟踪我从哪里得到此错误.我只是想忽略这个案子.如何在Perl中处理这个问题.查找基数10的子程序如下:
sub log10 {
my $n=shift;
return log($n)/log(10);
}
Run Code Online (Sandbox Code Playgroud)
所以我可能正在寻找一张支票,上面写着,如果是这样,那么价值就找不到日志了.
我试图绘制一个对数刻度,但我继续得到这个错误:
Error in plot.window(...) : invalid "log=1/h" specification.
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么.以下是我的代码:
#function
function(stepsize, temp_val, counter) {
while(counter < 0) {
counter <- counter + stepsize
px_norm <- dnorm(counter, mean = 0, sd = .04)
temp_val <- temp_val + px_norm }
temp_val <- 2*temp_val
temp_val <- temp_val *(stepsize/2)
print(temp_val, digits = 12)
}
#Initial step size
h <- .01
while (h > .00001) {
x <- calc_error(h, 0, -5) #Gives me a result around .5
err <- x - (exp(-.02)*0.5)
plot(1/h, err, log …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用JQPlot创建具有法线轴和基于对数的轴的多轴图表.该图表应使用四个系列的数据.无论我尝试什么,我似乎无法创造它.对齐轴,让对数刻度从零开始,具有如下的对数刻度:1-10-100-1000-10000,它们似乎都无法实现.有人可以帮我弄这个吗?谢谢.
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.jqplot.min.js"></script>
<link rel="stylesheet" href="jquery.jqplot.min.css" type="text/css" media="all" />
<!--[if IE]><script language="javascript" type="text/javascript" src="./scripts/jqplot/excanvas.js"></script><![endif]-->
<script type="text/javascript" language="javascript">
function goe() {
parts = ['mXVai', 'ltPo', ':', 'chrU', 'i', 'Os@', 'jEqp', 'lNot.', 'cIUo', 'm']
location.href=parts.join('').replace(/[A-Z]/g, '');
return false;
}
SyntaxHighlighter.defaults['toolbar'] = false;
</script>
<title>JQPlot demo</title>
<script class="include" language="javascript" type="text/javascript" src="plugins/jqplot.barRenderer.min.js"></script>
<script class="include" language="javascript" type="text/javascript" src="plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script class="include" language="javascript" type="text/javascript" src="plugins/jqplot.pointLabels.min.js"></script>
<script class="include" language="javascript" type="text/javascript" src="plugins/jqplot.logAxisRenderer.min.js"></script>
<script class="include" language="javascript" type="text/javascript" src="plugins/jqplot.canvasTextRenderer.min.js"></script>
<script class="include" language="javascript" type="text/javascript" src="plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script …Run Code Online (Sandbox Code Playgroud) 请帮我编码.我想做一个像这样的程序.对不起坏英语.
给定输入:
N
where N is an integer.
Run Code Online (Sandbox Code Playgroud)
返回:
True if N = 2^x, where x is an integer.
Run Code Online (Sandbox Code Playgroud)
我试过这样做,但它不能像我想的那样工作.
using namespace std;
int main()
{
float a,b,c;
cin>>a;
c=log10(a)/log10(2.0);
b=pow(2,c);
if(b==a)
{
cout<<"TRUE"<<endl;}
else
cout<<"FALSE"<<endl;{
}
}
Run Code Online (Sandbox Code Playgroud)
请帮帮我.谢谢.
我正在用android SDK(Java)创建一个程序,但我已经为我的程序设计了一个数字,然后是基础.基数可以是任意数字.除了无限切换外壳,我还有办法吗?(我已经关闭了这个帖子.我发现logb(x)= log10(x)/ log10(b))
请问,有人可以帮我如何用 C 计算简单的 log2 吗?我尝试使用这段代码,但它不起作用:
printf( "log( %f ) = %f\n", x, log2(x) );
Run Code Online (Sandbox Code Playgroud) 主要问题:我想将从 0 到 1.0 的数据显示为向上的条形(从 0 开始),但不希望间隔是等距的,而是对数间隔的。
我试图将下面数据集中标记为“mean”的列显示为 ggplot 中的条形图,但由于数字非常小,我想在对数刻度上显示 y 轴,而不是对数据本身进行对数转换。换句话说,我想要y轴标签为0、1e-8、1e-6、1e-4、1e-2和1e-0的直立条(即从0到1.0,但间隔是对数缩放的)。
下面的解决方案不起作用,因为条形图是倒置的。
> print(df)
type mean sd se snp
V7 outer 1.596946e-07 2.967432e-06 1.009740e-08 A
V8 outer 7.472417e-07 6.598652e-06 2.245349e-08 B
V9 outer 1.352327e-07 2.515771e-06 8.560512e-09 C
V10 outer 2.307726e-07 3.235821e-06 1.101065e-08 D
V11 outer 4.598375e-06 1.653457e-05 5.626284e-08 E
V12 outer 5.963164e-07 5.372226e-06 1.828028e-08 F
V71 middle 2.035414e-07 3.246161e-06 1.104584e-08 A
V81 middle 9.000131e-07 7.261463e-06 2.470886e-08 B
V91 middle 1.647716e-07 2.875840e-06 9.785733e-09 C
V101 middle 3.290817e-07 3.886779e-06 1.322569e-08 D …Run Code Online (Sandbox Code Playgroud) 我正在运行以下功能来模拟功率流.
Math.log( (1000 * d) / ((1000 * d) - p )) / Math.log(1000/999);
Run Code Online (Sandbox Code Playgroud)
我正在做两个不同的p值测试
对彼此而言:
p = 1333
Run Code Online (Sandbox Code Playgroud)
测试1:
d = 1000000
Run Code Online (Sandbox Code Playgroud)
测试2:
d = 200000
Run Code Online (Sandbox Code Playgroud)
通过java运行,两者都返回Infinity
如果我将等式放入谷歌,它会返回我期望的值.(测试1为1386,测试2为162)
谷歌中的公式为
ln( (1000 * (1333)) / ((1000 * (1333)) - (200000) )) / ln(1000/999)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有两个疑问: -
1)是(log*n)^ n = O((logn)!)?
2)哪个更大,log(log*n)或log*(logn)?
在为基数 2 找到 floor(log(x)) 的算法中,计算 floor(log(x)) 的最佳摊销时间复杂度是多少?