使用Levenberg-Marquardt算法的优化

10视图(30天)
我怎么能使用优化工具比找到一个给定值的方程。这是我= i_ph-Is。*主方程(exp(美国/ (1 * Ut)) 1)我IU曲线,但我想要“c_01”子方程的价值= c_01 * T ^ (3) * exp ((-e_g * eV) / (k * T))。

接受的答案

罗伯特你
罗伯特你 2020年4月23日
你好拉斐尔•欧文斯,
有几种解决方案和方法。Matlab是一个可用的函数 lsqcurvefit () 。下面有一个草图的如何应用函数(据说)可用的数据。
%已知参数
T
e_g
电动汽车
k
i_ph
1
Ut
%基本方程
= @ (c_01) c_01 * T ^ 3 * exp ((-e_g * eV) / (k * T));
我= @ (c_01 U) i_ph - (c0_1)。* (exp(美国/ (1 * Ut)) 1);
%开始为优化值(s)
c_01_guess = 1;
%选择算法,和可能的其他选项优化解算器
选择= optimoptions (“lsqcurvefit”);
opt.Algorithm =“levenberg-marquardt”;
%运行优化
c_01_opt = lsqcurvefit(我c_01_guess U_measured I_measured,[],[],选择);
亲切的问候,
罗伯特。
9日评论
罗伯特你
罗伯特你 2020年5月5日
你好拉斐尔•欧文斯,
我不确定我是否正确地理解你的问题:我在哪里获取xdata和ydata真实数据吗?
通常你是测量U-I-curve U和测量。在这种情况下,通过提供真实的数据是“U”(xdata)和“我”(ydata)。网格无关紧要,因为你正试图适应函数的数据模型。它只是需要好足以覆盖整个模型的功能特点。
简而言之:
  1. 供应U (xdata)
  2. 我(ydata)
  3. 给已知参数
  4. 脂肪酸的适合模型。
亲切的问候,
罗伯特。

登录置评。

更多的答案(0)

类别

找到更多的在开始使用优化工具箱帮助中心文件交换

标签

下载188bet金宝搏


释放

R2020a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!