问题标签 [nlm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 单元测试一个检查互联网连接的模块
我有一个 C# 模块负责获取 Windows Vista 机器上“连接到互联网”的网络适配器列表。该模块使用“网络列表管理器 API ”(或 NLM API)遍历所有网络连接并返回所有 IsConnectedToInternet 值为 true 的连接。
我收到了一些关于在这个SO question中实施这个模块的建议
为了测试这个模块,我决定编写一个帮助程序,它基于另一个逻辑返回互联网连接的接口列表,因此这将是对原始模块逻辑的一种“现实检查”。请注意,对于测试助手,我愿意使用可能被认为对生产代码不利的检测方法(例如,依赖一些可用的互联网资源,如“Google”——以防它关闭、被我们的内部防火墙阻止等)。与部署的产品库相比,修复测试相对容易)。
我选择的另一种检测方法是尝试使用 TcpClient 连接到“www.google.com:80”。我的问题:当我有多个连接的适配器(例如无线和 LAN)时,其中一个的检测方法失败,并出现错误“在已连接的套接字上发出连接请求”。
我的问题是三个方面:
一般来说,您将如何测试这样的模块?您是否支持以不同的方式做同样的事情并比较结果的想法,或者这是一种矫枉过正的做法,我应该依赖系统的 API?我在这里的主要问题是,很难预先配置系统,以便我提前知道预期的结果。
你会建议什么替代逻辑?上述问题中建议的一件事是查看路由表 - 是否将每个具有目的地为 0.0.0.0 的路由条目的适配器视为“已连接到 Internet”?其他建议?
你明白为什么我在当前的测试逻辑中得到“已经连接”的错误吗?
winapi - 我们如何使用 NLM (NetworkListManager) API 区分 LAN 和无线数据卡网络连接?
我正在使用 NLM API(Windows)。我有 LAN 连接和无线数据卡连接。我正在枚举可用的网络。
代码:
我连接了 LAN 和无线数据卡。
对于 LAN pBool1
,值为 True,pBool2
值为 False。
对于无线数据卡,pBool1
和pBool2
值都为真。
当我断开无线数据卡时,对于 LANpBool2
值是 false,虽然我在 LAN 连接时能够访问 Internet??知道为什么这个值为 False 吗?
我们如何使用 NLM (NetworkListManager) API 区分 LAN 和无线数据卡网络连接?
r - 通过 R 函数 nlm 传递函数参数
我可能不合理地寻求帮助调试程序,但我花了一天半的时间在这个非常简单的代码上并且已经没有想法了。我正在尝试针对第一个参数优化一个名为“log.pr.data”的函数。
因为函数 optimize 需要你设置我决定使用的参数的界限nlm
,它只需要一个起点。我已经检查了nlm
确实能够将函数作为参数传递的简单示例。我的问题是在这种特殊情况下我无法将函数作为参数传递。
所以这是目标函数(带有两个打印诊断)。我想就参数 lambda.s 最大化它。(作为一个有趣的问题,我没有在这里最大化可能性。我正在尝试优化重要性采样器。)
我对命令没有任何问题:
它工作正常。但我希望能够改变函数 g=T.chan。所以我重新定义了在 log.pr.data 中未指定 g 的函数。换句话说,我只是删除了参数列表中的“=T.chan”。我检查了该功能是否正常。例如使用命令
对于“l”的一系列值,它工作正常并给出与参数列表中指定 g=T.chan 的前一个函数相同的值。因此,函数 T.chan 正在正确传递,它出现了。
然后我尝试优化
我得到了错误
nlm(function(x) f(x, ...), p, hessian, typsize, fscale, msg, 中的错误:参数中的 NA 值无效
有趣的是,似乎没有一次调用 log.pr.data,因为没有打印“Function log.pr.data”。在早期解决此问题的尝试中,我意识到我正在使用符号“f”来表示正在传递的函数,并且这可能会导致问题,因为nlm
将其目标函数称为“f”。所以我把它改成了“g”。
r - nlm起始值的选择问题
需要使用nlm函数估计两个参数;
hood2par
修改后的物流在哪里
nlm的收敛取决于这些参数的起始值。为了找到这样的初始值,我会自动生成两个初始值向量
接下来我创建一个包含在 double for() 中的例程,以查找导致函数收敛的值:
我遇到的问题是,当我在函数中包含上一个例程时:
我无法从 FFF() 获得“适合”值:
我曾经stopifnot(is.null(fit))
在 fit 不为 NULL 时停止循环(因为 fit 在 try(...) 之前定义为 NULL 对象)。关于您共享的尝试代码,我只需要这个;
我试图break
在条件语句的第二个参数中包含该函数,但它没有在我的 R 版本中运行……知道吗?
r - 具有多维参数数组的 R optim/nlm
我正在使用 optim/nlm 进行最大似然估计,并且我的参数位于多维数组中。
似然评估很好,即给定一个数据 x 和参数 theta 的多维数组,似然(theta,x)给出一个实数。
但是,使用 optim/nlm,其起始值的维度与 theta 评估得很好,我收到以下错误:
在评估可能性时。事实证明 optim/nlm 将我的多维数组展平为一维数组。无论如何我可以将 optim/nlm 与多维参数数组一起使用吗?
r - 优化错误:无法在初始参数处评估函数
所以我在 R 中遇到了这个奇怪的错误。我有一个简单的函数,它在比较真实价格和模拟价格时返回一个错误项,称为hestondifferences()
.
当我尝试通过以下方式找到局部最小值时:
我收到错误消息:
optim(fn = hestondifferences, par = c(vT = vT, rho = rho, k = k, : 函数无法在初始参数处评估) 中的错误
让我困惑的是,直接使用初始参数调用函数会hestondifferences(vT, rho, k, sigma)
返回正确的值。
该函数hestondifferences()
的编写方式是,只要对某些参数集无法进行模拟,它就会返回NA
符合optim
() 期望的值。
filemaker - IndexCat 文件的 XML 导入
国家医学图书馆 (NLM) 于去年 4 月向公众公开了其 Index Medicus 收藏。该系列由 5 个系列组成,每个系列包含几卷。这些文件在此网站上以 XML 文件的形式提供:http ://www.nlm.nih.gov/hmd/indexcat/indexcatxml.html 同一网站还有一个文档类型定义 (DTD) 文件。我正在尝试将这些 XML 文件导入 FileMaker Pro 12 Advanced,但没有成功。我意识到我需要指定将 XML 转换为正确语法的 XSLT 样式表。我不知道该怎么做。我使用了 FileMaker 附带的示例(称为 msdso_elem.xslt)。我还修改了一个 XML 文件的顶部,如下所示。
通过这两个修改,我可以导入一个系列中的所有记录,但是这些字段与 XML 文件的原始字段不对应。特别是我新建的 FileMaker 文件中的字段较少,并且它们包含的信息没有很好地分离(例如作者的名字被砸成作者的姓氏,而不是在自己的字段中)。
谁能帮我修改 XSLT 样式表以正确导入 NLM XML 文件?
非常感谢帕特里克
r - 影响参数子集的二分法非线性模型
我一直在研究R
非线性模型,比如我们:
我会确定一个伯努利变量是否会影响Alpha1*time
和截距。这样的伯努利变量可以是:
有
我发现它nls
可以拟合这个模型,但没有这个分类变量的影响,我还发现这个nlme
包可以估计变量的影响,而不是非线性模型的项。我的问题是:这些软件包中的哪一个可以帮助我?而且,我怎么能在代码中添加这个伯努利变量?问候和感谢。
r - For循环未按R中的预期运行
晚上好
,我目前正在使用 R 中的 nlminb() 函数解决最大化问题。这是代码的一部分。这些是初始输入参数
将评估参数的两个函数中的第一个
第二部分,从函数 Resid 中获取 sigma 和 epsilons
最后最大化
代码运行,但它出现了 NaN。问题似乎出现在for循环中
该循环应该计算 Ksum 的向量,每个 x 一个向量。我一直在努力找出问题所在,但我已经对解决方案视而不见。
有任何想法吗?
干杯
delphi - 注册 NLM 事件(INetworkListManager、Advise、Sink 等)
在我的 Delphi 应用程序中,我想使用 Microsoft Windows 网络列表管理器 API (NLM) 了解网络更改:http: //msdn.microsoft.com/library/ee264321
我查看了链接的“如何注册 NLM 事件”示例并将其翻译为 Delphi。但是,我不知道如何继续。
文章说:
“在您创建了上面的 INetworkListManager 对象后,您将从该点开始收到 INetworkEvents 通知。pSink 实现了 INetworkEvent 接口,包括那些事件处理方法,例如 NetworkAdded、NetworkDeleted、NetworkConnectivityChanged 和 NetworkPropertyChanged。”
不幸的是,我不知道该怎么做。没有进一步的说明,所以我希望这里有人可以指导我/提供一个示例来调用这些事件的自定义过程。谢谢。