我想实现一个迭代算法,计算加权平均值.具体权重法无关紧要,但最新值应接近1,最接近0.
算法应该是迭代的.即它不应该记住以前的所有值.它应该只知道一个最新的值和任何关于过去的汇总信息,比如以前的平均值,总和,计数等.
可能吗?
例如,以下算法可以是:
void iterate(double value) {
sum *= 0.99;
sum += value;
count++;
avg = sum / count;
}
Run Code Online (Sandbox Code Playgroud)
它会给指数减少的重量,这可能不好.是否有可能逐步减轻体重?
编辑1
称重法的要求如下:
1)重量减少到过去2)我有一些平均或特征持续时间,以便这个持续时间较旧的值比新的更小的值3)我应该能够设置这个持续时间
编辑2
我需要以下内容.假设v_i
是值,其中v_1
第一个是.还假设w_i
是权重.但是w_0
最后一次.
所以,在第一个价值来之后,我有第一个平均值
a_1 = v_1 * w_0
Run Code Online (Sandbox Code Playgroud)
在第二个值v_2来之后,我应该有平均值
a_2 = v_1 * w_1 + v_2 * w_0
Run Code Online (Sandbox Code Playgroud)
我应该有下一个值
a_3 = v_1 * w_2 + v_2 * w_1 + v_3 * w_0
Run Code Online (Sandbox Code Playgroud)
请注意,当我按照值序列移动时,重量轮廓随着我移动.
即每个值都没有自己的重量.我的目标是在过去的同时降低体重.
如果我根据没有原型Maven
项目创建默认空Eclipse
,它将基于J2SE-1.5
.
我将手动更改构建路径条目和代码合规性.
为什么?
如何使它成为其他?
从IntelliJ中生成javadoc时,我收到文件的多个错误:
unmappable character for encoding Cp1251
Run Code Online (Sandbox Code Playgroud)
文件编码是UTF-8
.我发现javadoc生成时没有任何编码控制的地方.
我应该知道Mat
元素类型at()
是否正确使用?例如,如果我有
Mat rose = Mat(1,180, CV_64F, 0);
Run Code Online (Sandbox Code Playgroud)
然后我可以打电话
rose.at<short>(i,j)++;
Run Code Online (Sandbox Code Playgroud)
如果没有那么我应该使用哪个模板参数?
为什么Mat::at
在模板化的同时Mat
本身不是?
UPDATE
这个问题包含另一个错误的示例代码,现在在这里:如何在OpenCV中用零填充Matrix?
我在运行时遇到以下错误,同时尝试运行Tess4J:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libtesseract302': Native library (win32-x86-64/libtesseract302.dll) not found in resource path ([myproject/target/classes/, ...some jars...])
Run Code Online (Sandbox Code Playgroud)
我的问题是:
1)它到底想要找到什么以及在哪里?
2)为什么显然会搜索myproject/target/classes/
目录?我无处可去.
3)为什么忽略我tess4j.jar
在Eclipse中的用户库描述中设置的"本机目录路径" ?我的DLL就在那里.如果它没有忽略路径,它会找到DLL.
4)为什么它显然在前面加上DLL名称win32-x86-64/
?我无处可去.这是某些API的标准前缀吗?
5)什么是"资源路径"?怎么设置呢?
如何更改正在运行的Eclipse的标题(最后一部分)?
我说的是Eclipse发布本身,而不是我为Eclipse编写的程序.
目前我有以下标题:
1
这部分是设置的Window -> Preferences -> General -> Workspace -> Workspace name
.
其他部件是自动生成的.
我想改变2
现在的部分Eclipse
.我安装了几个日食,想在这里推荐它们.
UPDATE
我在plugin.xml
里面找到了文件./plugins/org.eclipse.epp.package.standard_XXXXX
,发现它包含一个设置
<property
name="appName"
value="Eclipse">
</property>
Run Code Online (Sandbox Code Playgroud)
我根据自己的喜好改变了这个,但它并没有影响标题.
更新2
我也找到了 plugin.properties
productName=Eclipse
Run Code Online (Sandbox Code Playgroud)
不幸的是,改变这一点也没有影响标题.
是否可以在任何Web调试器中将所有javascript函数调用视为树?
UPDATE
我的意思是调试器可以记住每个函数调用,从中完成其他函数,它也可以记住每个调用的堆栈帧和整个DOM快照.
更新2
以下页面代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Trace and log all javascript functions calling tree/graph?</title>
<script type="text/javascript">
function init() {
setDiv2("This div text was changed once");
setDiv2("This div text was changed twice");
};
function setDiv2(text) {
document.getElementById("div2").innerHTML = text;
}
window.onload = init;
</script>
</head>
<body>
<h1>Trace and log all javascript functions calling tree/graph?</h1>
<p><a href="http://stackoverflow.com/questions/20910262/trace-and-log-all-javascript-functions-calling-tree-graph">Stack Overflow Question #20910262</a></p>
<div id="div1">This div will not changed</div>
<div id="div2">This div text will change</div>
<div>
<h2>The call graph should …
Run Code Online (Sandbox Code Playgroud) 每次应用程序运行时如何创建新的日志文件?
我想以任何方式保留以前的日志.例如,我更愿意按创建时间和日期命名每个新日志文件.否则,我同意将旧日志文件备份到日期和时间文件名中.
不幸的是,我在这里看不到合适的政策和/或触发器:http://logback.qos.ch/manual/appenders.html
UPDATE
我做了大约如"复制"中说的那样
<appender name="ROUTINEAPPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/routine.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/routine%d{yyyyMMdd}%d{HHmmss,aux}.log</fileNamePattern>
<TimeBasedFileNamingAndTriggeringPolicy class="com.inthemoon.toolkit.StartupTimeBasedTriggeringPolicy" />
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} - %C{0} - %msg%n</pattern>
</encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)
但我的班级com.inthemoon.toolkit.StartupTimeBasedTriggeringPolicy
从未被召唤过.我把断点放在start()
方法中,但它从未提出过.
此外,不会发生滚动.日志文件已创建,但始终具有名称routine.log
.
此外,我不明白,如何参数file
和filenamePattern
应该共存.
更新2
我有固定的UPDATE 1
类参考,但仍然没有我需要的.在给定的解决方案中,日期时间将插入OLD日志文件名中.例如,如果我在2013年运行程序,它就会创建routine.log
.然后我等了一年,并在2014年运行程序.将创建新的日志文件并具有名称routine.log
,而OLD 2013日志将被放入routine2014XXXXXXXXXX.log
,这是绝对无关紧要的.
我需要在每次程序启动时创建新文件,并将此文件标记为日期时间戳.
我是否正确,认为@Bean和@Component注释是相同的,但首先是类,另一个是方法?
在这两种情况下,容器只会创建适当的bean,对吧?