函数嵌套报错。

function [funstr,y] = test_function(x,FunNum)
funstr = str2func(['test',num2str(FunNum)]);
y = funstr(x);
% =========================================================================
% 测试函数集
%==========================================================================
function y = test1(x)
[~,Ns]=size(x);
y=zeros(1,Ns);
for i=1:Ns
x1=x(1,i);
x2=x(2,i);
f=( 1+(x1+x2+1)^2 * (19-14*x1+3*x1^2-14*x2+6*x1*x2+3*x2^2) )...
*( 30 + (2*x1-3*x2)^2 * (18-32*x1+12*x1^2+48*x2-36*x1*x2+27*x2^2) );
y(1,i)=f;
end
end
end
脚本:
clear;clc
[funstr,y] = test_function(rand(2,100),1)
运行不出来,求大佬指教

 采纳的回答

xaetsypn
xaetsypn 2023-5-22

0 个投票

仅供参考
clear;clc
[funstr,y] = test_function(rand(2,100),1)
function [funstr,y] = test_function(x,FunNum)
funstr = str2func(['test',num2str(FunNum)]);
y = funstr(x);
% =========================================================================
%                             测试函数集
%==========================================================================
   
end
function y = test1(x)
        [~,Ns]=size(x);
        y=zeros(1,Ns);
        for i=1:Ns
            x1=x(1,i);
            x2=x(2,i);
            f=( 1+(x1+x2+1)^2 * (19-14*x1+3*x1^2-14*x2+6*x1*x2+3*x2^2) )...
                *( 30 + (2*x1-3*x2)^2 * (18-32*x1+12*x1^2+48*x2-36*x1*x2+27*x2^2) );
            y(1,i)=f;
        end
    end

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Simulation, Tuning, and Visualization 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!