Fminsearch Matlab(非线性回归)
Fminsearch Matlab (Non Linear Regression )
任何人都可以向我解释如何将非线性回归应用于此方程,然后使用 matlab 命令 window.
找出 K
I = 10^-9(exp(38.68V/k)-1)。
Screenshot of Equation
我有如下数据值:
Voltage := [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]:
Current:= [0, 0, 0, 0, 0, 0, 0, 0.07, 0.92, 12.02, 158.29]:
[新]:现在我使用 FminSearch 作为替代品,又出现了另一条错误消息。
Matrix dimensions must agree.
Error in @(k)sum((I(:)-Imodel(V(:),k)).^2)
Error in fminsearch (line 189)
fv(:,1) = funfcn(x,varargin{:});
我使用了这个 fminsearch 代码:
>> V = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0];
>> I = [0, 0, 0, 0, 0, 0, 0.07 ,0.92 ,12.02 ,158.29];
>> Imodel = @(V,k) 1E-9*(exp(38.68*V/k)-1);
>> k0 = 1;
>> kmodel = fminsearch(@(k) sum((I(:)-Imodel(V(:),k)).^2), k0)
>> kmodel = fminsearch(@(k) sum((I(:)-Imodel(V(:),k)).^2), k0);
你想找到参数 k
来最小化指数模型的误差平方和(顺便说一句,这是一个 current/voltage 特征吗?)给定当前数据 I
和电压数据 V
作为向量:
Imodel = @(V,k) 1E-9*(exp(38.68*V/k)-1);
k0 = 1;
kmodel = fminsearch(@(k) sum((I(:)-Imodel(V(:),k)).^2), k0);
plot(V(:), I(:), 'ok', V(:), Imodel(V(:),kmodel), '-r');
匿名函数计算误差平方和。搜索将使模型误差最小化的参数 k
从值 1 开始;请将其更改为更合适的值(如果您有很好的猜测)。
任何人都可以向我解释如何将非线性回归应用于此方程,然后使用 matlab 命令 window.
找出 KI = 10^-9(exp(38.68V/k)-1)。 Screenshot of Equation
我有如下数据值:
Voltage := [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]:
Current:= [0, 0, 0, 0, 0, 0, 0, 0.07, 0.92, 12.02, 158.29]:
[新]:现在我使用 FminSearch 作为替代品,又出现了另一条错误消息。
Matrix dimensions must agree.
Error in @(k)sum((I(:)-Imodel(V(:),k)).^2)
Error in fminsearch (line 189)
fv(:,1) = funfcn(x,varargin{:});
我使用了这个 fminsearch 代码:
>> V = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0];
>> I = [0, 0, 0, 0, 0, 0, 0.07 ,0.92 ,12.02 ,158.29];
>> Imodel = @(V,k) 1E-9*(exp(38.68*V/k)-1);
>> k0 = 1;
>> kmodel = fminsearch(@(k) sum((I(:)-Imodel(V(:),k)).^2), k0)
>> kmodel = fminsearch(@(k) sum((I(:)-Imodel(V(:),k)).^2), k0);
你想找到参数 k
来最小化指数模型的误差平方和(顺便说一句,这是一个 current/voltage 特征吗?)给定当前数据 I
和电压数据 V
作为向量:
Imodel = @(V,k) 1E-9*(exp(38.68*V/k)-1);
k0 = 1;
kmodel = fminsearch(@(k) sum((I(:)-Imodel(V(:),k)).^2), k0);
plot(V(:), I(:), 'ok', V(:), Imodel(V(:),kmodel), '-r');
匿名函数计算误差平方和。搜索将使模型误差最小化的参数 k
从值 1 开始;请将其更改为更合适的值(如果您有很好的猜测)。