函数嵌套报错。

1 visualización (últimos 30 días)
eakpwsv
eakpwsv el 22 de Mayo de 2023
Respondida: xaetsypn el 22 de Mayo de 2023
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)
运行不出来,求大佬指教

Respuesta aceptada

xaetsypn
xaetsypn el 22 de Mayo de 2023
仅供参考
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

Más respuestas (0)

Categorías

Más información sobre Simulation, Tuning, and Visualization en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!