点击查看代码
%%开发算法里,x为决策变量,参数个数不固定,采用fun_para = {}, 类似数组、结构体,花括号内可以有多个类型不同的元素
function val = fun_test(x,fun.fun_para) %% 形参fun.fun_para
val == fun(x,fun_para); %% 调用fun_para
end
function y = fun_line(x,para)
y = para{1}'*x + para{2};
end
%function val = fun_test(x,fun.fun_para) %% 形参fun.fun_para
% val == fun(x,fun_para{1},fun_para{2}); %% 调用fun_para
%end
%
%
% function y = fun_line(x,a,b)
% y = a'*x + b;
%end
clear;
clc;
a = [1:2:3];
x = [1:10:100];
b = 15;
%para = {a,b};
val = fun_test(x,@fun_line,{a,b}) % @fun_line 艾特函数名实现调用
% fun_test函数调用fun_line函数,定义中使用了fun.fun_line,在主函数中使用则采用了@fun_line,{函数参数},的格式。