私には機能があります
function [output1 output2] = func(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10)
離散化したい。この関数を含む最適化を実行する予定です。最適化の効率は、連続関数を評価する代わりに、関数を離散化し、データに対してスプライン補間を行うことで改善されると思います。基本的に、v1、v2、... v10 のさまざまな値と相関する output1 と output2 のそれぞれに 10 次元の double が必要です。
無限の時間とメモリを使用して、次のことを行います。
n_pts = 100;
v1 = linspace(v1_min, v1_max, n_pts);
...
v10 = linspace(v10_min, v10_max, n_pts);
[v1g v2g ... v10g] = ndgrid(v1, v2, ... v10);
[output1, output2] = arrayfun(@func, v1g, v2g, ... v10g);
時間とメモリ (ndgrid と arrayfun を実行するために必要) は明らかにこれを許可しません。誰かが回避策を考えることができますか、または10変数の関数を離散化するこの問題は完全に扱いにくいですか?