0
私は問題に巻き込まれましたが、それは難しいことではありませんが、実装方法を理解できませんでした。私はループ内の入力パラメータを変更して関数を呼び出すMatlab
clear;
PVinv.m_SwF=20e3
for m=1:1:70;
PVinv.m_SwF=PVinv.m_SwF+1e3;
Lmin = PVinv.InductanceDimens();
Wa_Ac = PVinv.CoreSizeModel();
PVinv.CoreSelect(Wa_Ac);
[loss_ind_core,loss_ind_copper] = PVinv.InductorLossModel(PVinv.m_L_Selected);
Total_Inductor_Loss=loss_ind_core+loss_ind_copper
plot(PVinv.m_SwF,Total_Inductor_Loss,'--gs');
hold on
xlim([10e3 90e3])
set(gca,'XTickLabel',{'10';'20';'30';'40';'50';'60';'70';'80';'90'})
grid on
xlabel('Switching Frequency [kHz]');
ylabel('Power loss [W]');
end
のように見えるメートルファイル、関心のある機能ですCORESELECT(Wa_Ac)
function obj = CoreSelect(obj, WaAc)
obj.m_Core_Available= obj.m_Core_List(i);
obj.m_L_Selected.m_Core = obj.m_Core_Available;
end
私はobj.m_Core_Listからiの値を変更したいを持っている(1)〜 obj.m_Core_List(27)は、メインmファイルのforループ内にあります。メインmファイルでコールすると関数coreselectの値を得る方法 たとえばm = 1〜70の場合、関数がi = 1の値をとり、plotコマンドまで実行してからiと同じにする= 2など 上の任意の提案は本当に参考になる
ありがとうGeorgeさんは働いています。しかし、データをプロットすると、データポイントしか得られませんが、それらを結ぶ線はありません。meshgridを使ってみましたが、うまくいきませんでした。 – mirage