matlabのfortranプログラムへのパラメータ入力をグローバルに最適化する必要があります。この関数は、次のように入力を受け入れます。matlabのFORTRAN関数の並列グローバル最適化
z= fort_fun(X,str)
ここで、Xは10進数のベクトルで、strは文字列です。私はそれぞれの1020 strの最適なXに対応する最小zを特定する必要があります。私は、親スクリプトの最後にローカルに定義された関数を使って、strをグローバル変数として宣言することで、このプロセスを連続して実行できます。しかし、よりタイムリーに私のコードを実行するために(< 1ヶ月)私は次のようにのparforと並行して、このプロセスを実行したいと思います:
parfor i=1:n
%code to setupt global optomization problem....
z(i)=optimal output of --- fort_fun(X,str(i)) ---
end
を... Zの各最終最適化された値を格納します。 strをグローバル変数として宣言すると、parforコマンドの各スレッドは同時に同じstr(i)を最適化します。
fort_fun(X、str(i)) ""を最適化するためにparforコマンドの各スレッドを構成できる方法を知っている人はいますか?私は、OMPのアナログは、strの入力に適用される "private"修飾子を使用すると考えています。
ありがとうございます!