このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
afterEach
と毕竟
を使用したユザンタスの非同期更新
この例では,計算の完了時にユ:。parfeval
を使用して計算をワーカーにオフロードすると,ワーカーがこれらの計算を実行中にすべてのユーザーインターフェイスが応答可能な状態になります。この例では,waitbar
を使用して単純なユザンタスを作成します。
それぞれの計算が完了するたびにユザ
afterEach
を使用します。すべての計算が完了した後にユザ
毕竟
を使用します。
waitbar
を使用して图ハンドルh
を作成します。afterEach
または毕竟
を使用すると,関数waitbar
は图ハンドルを更新します。ハンドルオブジェクトの詳細にいては,ハンドルオブジェクトの動作を参照してください。
H = waitbar(0,“等……”);
parfeval
を使用して,乱数行列の固有値の実数部を計算します。parfeval
は,並列プ,ルが作成されていなければ,自動的に既定の基本設定で作成します。
为idx = 1:10 0 f (idx) = parfeval (@ (n)真实(eig (randn (n))), 1、5 e2);结束
afterEach
を使用して,parfeval
の各計算結果に対して自動的に関数を呼び出すことができます。各未来が完了するたびに,afterEach
を使用して各出力配列内の最大値を計算します。
maxFuture = afterEach(f,@max,1);
状态
プロパティを使用して,未来のステ,タスを取得できます。f
の未来の状态
プロパティが“完成”
である逻辑配列を作成します。的意思是
を使用して,終了した未来の割合を計算します。次に,無名関数updateWaitbar
を作成します。関数は,h
のウェ▪▪トバ▪の割合の長さを,終了した▪未来▪の割合に変更します。
updateWaitbar = @(~) waitbar(mean({f.)州}= =“完成”), h);
maxFuture
の各未来が完了するたびに,afterEach
とupdateWaitbar
を使用してウェ▪▪トバ▪▪の割合の長さを更新します。すべての計算が完了したら,毕竟
と删除
を使用してウェ▪▪トバ▪▪を閉じます。
updateWaitbarFutures = afterEach(f,updateWaitbar,0);毕竟(updateWaitbarFutures @(~)删除(h), 0);
すべての未来が完了したら,毕竟
と柱状图
を使用してmaxFuture
の結果のヒストグラムを表示します。
showsHistogramFuture = afterAll(maxFuture,@直方图,0);