函数嵌套报错。
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
eakpwsv
am 22 Mai 2023
Beantwortet: xaetsypn
am 22 Mai 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)
运行不出来,求大佬指教
0 Kommentare
Akzeptierte Antwort
xaetsypn
am 22 Mai 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
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Simulation, Tuning, and Visualization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!