我将从区间([-10,10]^10
((f5 =@(x) 5*x(1)- 6*x(3)+x(4)^2+x(8)*x(10)
(中的预定义函数生成4000个样本(x has 10 dimentions
(我如何在matlab中做到这一点?事实上,我认为我应该在所有维度上进行调节。如果您能提供,我将不胜感激
您可以使用以下方法在该范围内生成一些randx
:
nums = rand(4000,10); % between zero to one
% If "x" in "[0,1]", "(b-a)*x + a" would be in "[a,b]"
nums = 20*nums - 10; % between -10 to 10
然后在nums:上应用该函数
I = 1:size(nums,1);
F = @(i) f5(nums(i,:));
vals = arrayfun(F, I.');