如何在Matlab中对所有维度的向量进行条件处理?

时间:2018-07-24 06:50:27

标签: matlab

我将从间隔(x has 10 dimentions)([-10,10]^10)中的预定义函数生成4000个样本(f5 =@(x) 5*x(1)- 6*x(3)+x(4)^2+x(8)*x(10)) 如何在Matlab中做到这一点?实际上,我认为我应该适应所有方面。 非常感谢您可以提供的帮助

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法在范围内生成一定的兰德x

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.');