这个问题是我之前的问题实现最小化方法的继承者.在当前的问题中,我简化了我的问题,这是示例MATLAB代码.我想在Fortran中实现它.
%Script script1.m
clear vars;
close all;
clc;
fun1 = @(x1,x2) 3*x1^2 + 4*x2^2 + 5*x1 + 6*x2 + 10;
lower = -2;
upper = 0;
fun5 = fun15(fun1);
%fun5 is 'intermediate' function
%calling minimization function
[location,value]=minimize1(fun5,lower,upper)
Run Code Online (Sandbox Code Playgroud)
在script1.m中,我创建了一个函数句柄,fun1
并希望为其赋值,如图所示fun15.m
%fun15.m
function fun2 = fun15( fun1 )
arr1 = [4,5];
arr2 = [-2,3];
fun2 = @(a) fun1( ( arr1(1) + a*arr2(1)) , ( arr1(2) + a*arr2(2)));
%fun2 = @(a) @(x4,y4,x5,y5) 3*(x4+a*x5)^2 + 4*(y4+a*y5)^2 + 5*(x4+a*x5) + 6*(y4+a*y5) …
Run Code Online (Sandbox Code Playgroud)