记录Matlab的一些常规的但我忘了或者根本不会的操作。慢慢更新,偶尔杂乱无章了整理一下。

1.MATLAB函数体作为另一个函数的参数

主要就是MATLAB中函数的调用,以前曾经学过,借此想回顾一下MATLAB编程中定义函数的格式,定义函数时形参中的函数名fun.fun_example,主函数调用时,实参里函数名的表示@fun_example等内容,之前应用地太少了。

点击查看代码
	%%开发算法里,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,{函数参数},的格式。