我正在尝试开发一个电池模型,现在根据测试估计我的模型的参数。数据。

from scipy.optimize import least_squares我使用非线性最小二乘。我有 OCV(开路电压)曲线作为与 SOC(充电状态从 0 到 1.0)相关的查找表。

我正在尝试优化 OCV 曲线,因此将其视为 201 个参数。,python,scipy,nonlinear-optimization,scipy-optimize"/>

首页 > 解决方案 > 非线性最小二乘参数优化约束为 param1

我正在尝试开发一个电池模型,现在根据测试估计我的模型的参数。数据。

from scipy.optimize import least_squares我使用非线性最小二乘。我有 OCV(开路电压)曲线作为与 SOC(充电状态从 0 到 1.0)相关的查找表。

我正在尝试优化 OCV 曲线,因此将其视为 201 个参数。

问题描述

我正在尝试开发一个电池模型,现在根据测试估计我的模型的参数。数据。

from scipy.optimize import least_squares我使用非线性最小二乘。我有 OCV(开路电压)曲线作为与 SOC(充电状态从 0 到 1.0)相关的查找表。

我正在尝试优化 OCV 曲线,因此将其视为 201 个参数。由于电池性质 OCV[k-1] <= OCV[k] 所以因为电池电压在充电和放电期间会下降或上升。但是从图中可以看出(见链接)优化并不关心它。会产生一些涟漪。实际上在我使用 simulink 之前并没有发生。

我可以设置界限,但我想在优化期间将约束设置为 OCV[k] >= OCV[k-1]。有没有办法用最小二乘或 scipy 或任何其他库或语言来做到这一点?

提前致谢

https://i.stack.imgur.com/xc7Wi.png


 <h3>Break Statement</h3>
   <script>
        let num=0;
        while(num<5){
            num++;
            if((num==3)){
                break;
            }else{
                document.write("num is: "+num+"<BR/>")
            }
        }
        document.write("When if condition is true: while Loop Terminated");
    </script>


 <h3>Continue Statement</h3>
    <script>
        let val=0;
        while(val<5){
            val++;
            if(val==3){
                // skip the current loop iteration and jump to the next iteration
                continue;
            }
            document.write("val = "+val+"<BR/>");
        }
    </script>

标签: pythonscipynonlinear-optimizationscipy-optimize

解决方案


推荐阅读