electromagneticProperties関数で電磁気モデルに比透磁率を関数ハンドルで定義する際に,locationとstate以外に追加でもう一つ変数を渡したい
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
現在,PDE Toolboxを用いて温度依存の透磁率をもつ物体を含む系の磁場解析をしようとしています.現在,electromagneticProperties関数で透磁率を定義する際,以下のような自作関数を用いて定義しています.
%関数ハンドルを用いた透磁率の定義
electromagneticProperties(model3D,"RelativePermeability",@myperm,"Cell",3);
%自作関数
function emagVal = myperm(location,state)
emagVal = zeros(1,numel(location.z));
if length(location.z) > 1
bottom_idx = location.z < 0.0034;
middle_idx = (location.z >= 0.0034) & (location.z < 0.0067);
top_idx = location.z >= 0.0067;
emagVal(1,bottom_idx) = 1555;
emagVal(1,middle_idx) = 1000;
emagVal(1,top_idx) = 500;
else
emagVal = 0;
end
end
このlocationとstateに追加(もしくはstateの代わりに)で,温度データを格納した変数tempを引数としてmypermに渡そうとしたのですがうまくいきませんでした.
グローバル変数で渡すことも考えていますが,処理速度の問題で最終手段というふうに考えています.
そのため,関数ハンドルに引数を追加する方法があれば教えていただきたいです.
0 comentarios
Respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!