python - 非线性最小二乘参数优化约束为 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 或任何其他库或语言来做到这一点?
提前致谢
<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>
解决方案
推荐阅读
- filepond - OnPrepareFile 方法在使用 FilePond 4.11 时返回构造函数
- python - 如何将变量从视图传递到 Django 中的 base.html?
- python - Numpy 矩阵展平为矩阵
- react-native - 在一处配置应用程序
- makefile - Makefile:要么满足先决条件
- visual-studio-code - 运行 Save Participants 在 File Save 上永远运行
- r - 处理字符串相似性的有效方法?
- java - 如何在菜单循环后执行打印语句然后返回主菜单?
- django - Django AJAX 模态未显示
- delphi - 使用 Datasnap 记录 UTF8 字符串时出错
我正在尝试开发一个电池模型,现在根据测试估计我的模型的参数。数据。
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 或任何其他库或语言来做到这一点?
提前致谢
<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>
解决方案
推荐阅读
- filepond - OnPrepareFile 方法在使用 FilePond 4.11 时返回构造函数
- python - 如何将变量从视图传递到 Django 中的 base.html?
- python - Numpy 矩阵展平为矩阵
- react-native - 在一处配置应用程序
- makefile - Makefile:要么满足先决条件
- visual-studio-code - 运行 Save Participants 在 File Save 上永远运行
- r - 处理字符串相似性的有效方法?
- java - 如何在菜单循环后执行打印语句然后返回主菜单?
- django - Django AJAX 模态未显示
- delphi - 使用 Datasnap 记录 UTF8 字符串时出错