Matlabでparforを使用し、構造体を反復全体で変化させる

user3285148

Matlabのparfor代わりにを使用て次のループを書き直したいと思いforます。どちらが最善の方法であるかを理解していただきたいと思います。

重要なことは、行result=gurobi(model)が入力として構造を必要とし、構造を分割することです。構造の2つのフィールドは、model反復によって異なります。どういうわけかmodel100サブ構造で構成される構造を事前に割り当てる必要があると思いますが、それ以上のことはできません。ご協力いただければ幸いです。

注意:このループで使用されるすべての変数は、別の場所で作成されます。コードのその部分は含めませんでした。

L=zeros(100,1)
for b=1:100
    model.A=[Aineq; Aeq];
    model.rhs=[bineq;beq]; 
    model.sense=[repmat('<', size(Aineq,1),1); repmat('=', size(Aeq,1),1)];
    model.Q=Qsub{b}; %VARYING WITH b
    model.obj=csub{b}; %VARYING WITH b
    model.vtype=type; 
    model.lb=total_lb;
    model.ub=total_ub;
    result=gurobi(model); 
    L(b)=(result.objval+alphasub{b})*B;
end
マット

変化しないすべてのフィールドをループの外側に設定することをお勧めします。ループ内で、構造の「local_model」コピーを作成し、さまざまなフィールドのいずれかを挿入できます。これにより、parforループを使用できるようになります。

次のようなものを試してください。

model.A=[Aineq; Aeq];
model.rhs=[bineq;beq]; 
model.sense=[repmat('<', size(Aineq,1),1); repmat('=', size(Aeq,1),1)];
model.vtype=type; 
model.lb=total_lb;
model.ub=total_ub;

L=zeros(100,1)
parfor b=1:100
    local_model = model;
    local_model.Q=Qsub{b}; %VARYING WITH b
    local_model.obj=csub{b}; %VARYING WITH b

    result=gurobi(local_model); 
    L(b)=(result.objval+alphasub{b})*B;
end

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

動的構造体参照を1行で使用してMATLAB構造体を平坦化する

分類Dev

Pythonで構造体の要素を反復処理する

分類Dev

hsc2hs:HaskellでC構造体を変異させる

分類Dev

Matlabを使用したparfor「parforの変数__は分類できません」

分類Dev

MATLABで構造体配列に構造体を割り当てる

分類Dev

再帰関数を使用して再帰構造体を反復する

分類Dev

Matlabでシンボリック変数を使用して構造体を作成する方法

分類Dev

なぜ次に関数を変更しても、反復後に構造体 (Sequence および IteratorProtocol に準拠) が変更されないのですか?

分類Dev

構造体の配列を反復処理する「割り当てできません」エラー

分類Dev

テンプレートのgolangでネストされた構造体を反復する

分類Dev

C ++でカスタム構造体のリストを反復処理する小さな問題

分類Dev

2つの構造体を使用したC反復

分類Dev

構造体で構造体を初期化する

分類Dev

swift3 でデータを使用して構造体変数を初期化する方法

分類Dev

mallocで構造体を初期化する

分類Dev

構造体のスライスをテンプレートに渡してGolangで反復する方法は?

分類Dev

タプルを含むリストを反復処理し、構造全体にnltk.FreqDistを使用するにはどうすればよいですか?

分類Dev

構造体を使用したベクトルの複数の反復は、「借用したコンテンツから移動できません」

分類Dev

C構造体で行列変数を初期化しています

分類Dev

PIC24チップの構造体で変数を整列させる方法は?

分類Dev

構造体Cで変数行列を初期化する

分類Dev

MATLAB:構造体でcellfunを使用する方法は?

分類Dev

クラスで構造体を使用しても値は変更されません

分類Dev

参照を使用して構造体を一致させる

分類Dev

構造体ポインタと指定された初期化を使用してC構造体を初期化する方法

分類Dev

事前定義された値で構造体を初期化する

分類Dev

構造体でポインタを使用してデータを変更する

分類Dev

構造体の初期化で#defineを使用する方法

分類Dev

c ++で構造体を正しく初期化する方法

Related 関連記事

  1. 1

    動的構造体参照を1行で使用してMATLAB構造体を平坦化する

  2. 2

    Pythonで構造体の要素を反復処理する

  3. 3

    hsc2hs:HaskellでC構造体を変異させる

  4. 4

    Matlabを使用したparfor「parforの変数__は分類できません」

  5. 5

    MATLABで構造体配列に構造体を割り当てる

  6. 6

    再帰関数を使用して再帰構造体を反復する

  7. 7

    Matlabでシンボリック変数を使用して構造体を作成する方法

  8. 8

    なぜ次に関数を変更しても、反復後に構造体 (Sequence および IteratorProtocol に準拠) が変更されないのですか?

  9. 9

    構造体の配列を反復処理する「割り当てできません」エラー

  10. 10

    テンプレートのgolangでネストされた構造体を反復する

  11. 11

    C ++でカスタム構造体のリストを反復処理する小さな問題

  12. 12

    2つの構造体を使用したC反復

  13. 13

    構造体で構造体を初期化する

  14. 14

    swift3 でデータを使用して構造体変数を初期化する方法

  15. 15

    mallocで構造体を初期化する

  16. 16

    構造体のスライスをテンプレートに渡してGolangで反復する方法は?

  17. 17

    タプルを含むリストを反復処理し、構造全体にnltk.FreqDistを使用するにはどうすればよいですか?

  18. 18

    構造体を使用したベクトルの複数の反復は、「借用したコンテンツから移動できません」

  19. 19

    C構造体で行列変数を初期化しています

  20. 20

    PIC24チップの構造体で変数を整列させる方法は?

  21. 21

    構造体Cで変数行列を初期化する

  22. 22

    MATLAB:構造体でcellfunを使用する方法は?

  23. 23

    クラスで構造体を使用しても値は変更されません

  24. 24

    参照を使用して構造体を一致させる

  25. 25

    構造体ポインタと指定された初期化を使用してC構造体を初期化する方法

  26. 26

    事前定義された値で構造体を初期化する

  27. 27

    構造体でポインタを使用してデータを変更する

  28. 28

    構造体の初期化で#defineを使用する方法

  29. 29

    c ++で構造体を正しく初期化する方法

ホットタグ

アーカイブ