微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用fminsearch时不断出现错误

如何解决使用fminsearch时不断出现错误

模拟功能代码

function [V] = simulate(I,params)
%parameters
alphaa = params(1);
k = params(2);
ka = params(3);
delb = params(4);
x4 = params(5);
x3 = params(6);
k3 = params(7);
alphac = params(8);
k6 = params(9);
x6 = params(10);
x5 = params(11);
V = 0.77 -(((0.026) ./ (alphaa)).*log((0.09191)./(k.*((((1.56) - ((0.103) .*I))./(ka + (1.56) - ((0.103) .*I))) + (((15.55) .*I .*delb .*(x4 - x3))./((k3 .*ka) + ((15.55) .*I .*delb .*(x4 - x3)))))))) - (((0.0261) ./alphac) .*log(((0.121) .*I)./(k6 .*(((1.85) .*10 .^-4 .*(x6 - x5)) ./ (((2.22) .*(x6 - x5)) - ((0.113) .*k6)))))) - ((0.000049) .*I);
end

calculate_objective函数代码

function [value] = calculate_objective(parameters)
%CALculaTE_OBJECTIVE Summary of this function goes here
% Detailed explanation goes here
%loads a table containing 10 rows and 2 columns
load data.mat Dmodeldata;
predicted = simulate(Dmodeldata.Icell,parameters);
[num_rows,num_cols] = size(Dmodeldata.Vcell);
value = zeros(1,10);
for i = 1:num_rows
value = value + sum(((Dmodeldata.Vcell(i,:)) - predicted).^2);
end
end

Estimate_parameters脚本:

clear;
guess = [0.1,0.3,0.7,0.1,2,1,0.6,4,3];
options = optimset('display','iter');
[solution.parameters] = ...
fminsearch(@calculate_objective,guess,options);
save solution.mat solution;

错误

无法执行分配,因为左侧的尺寸为 1乘1,右边的大小是1乘10。

fminsearch中的错误(第200行)fv(:,1)= funfcn(x,varargin {:});

estimate_parameters中的错误(第9行)fminsearch(@calculate_objective, 猜测,选项);

感谢您的帮助。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。