首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检验非线性函数f是否总是正的一种算法

检验非线性函数f是否总是正的一种算法
EN

Stack Overflow用户
提问于 2012-05-16 19:44:11
回答 1查看 1.7K关注 0票数 6

是否有一个算法来检查给定的(可能是非线性的)函数f是否总是正的?

我目前的想法是找到函数的根(使用牛顿-拉夫森算法或类似的技术,参见算法),并检查导数,或求f的最小值,但它们似乎不是这个问题的最佳解决方案,而且寻根算法也存在许多收敛问题。

例如,在Maple中,函数验证可以做到这一点,但我需要在自己的程序中实现它。验证的帮助:贝壳 Maple示例:假设(x,'real');验证(x^2+1,0,'greater_than‘);->返回true,因为对于每个x我们都有x^2+1 >0

编辑一些背景的问题:函数$f$是一个电路的右手边微分非线性模型。利用改进的节点分析(MNA)可以将非线性电路建模为一组常微分方程,为了简单起见,我们只考虑一维系统,因此$x‘= f(x)$其中$f$描述电路,例如$f$可以是$f(x) =10x-100x^2+200x^3-300x^4+100x^5美元(非线性隧道二极管模型)或$f=10 - 2sin(4x)+ 3x$ (约瑟夫森结模型)。

$x$是有界的,$f$仅在R$中的区间$a中定义。$f$是连续的。我也可以假设$f$是Lipschitz常数的Lipschitz常数,但我不想这样做,除非我必须这样做。

EN

回答 1

Stack Overflow用户

发布于 2012-05-17 00:51:49

如果我正确地理解了你的问题,它归结为在一个间隔内计算(实际)根的数量,而不一定要识别它们。事实上,你甚至不需要得到确切的数字,不管它是否等于零。

如果你的函数是多项式,我认为Sturm定理是适用的。维基百科的文章声称其他两种程序是首选的,所以你可能也想检查一下。我不确定笛卡尔的符号规则是否在某个时间间隔内工作,但布丹定理确实这样做了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10625585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档