Function 在循环Matlab中改变输入参数调用函数
我遇到了一个问题,我知道它没有那么难,但我不知道如何实施它。我有一个m文件,看起来像Function 在循环Matlab中改变输入参数调用函数,function,matlab,for-loop,Function,Matlab,For Loop,我遇到了一个问题,我知道它没有那么难,但我不知道如何实施它。我有一个m文件,看起来像 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.Indu
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)
我想在主m文件的for循环中,将I的值从obj.m_Core_List(1)更改为obj.m_Core_List(27)。在main m文件中调用函数coreselect时,如何获取其值
例如,对于m=1到70,我希望函数取I=1的值,然后执行till plot命令,然后与but I=2相同,依此类推
任何建议都会非常有用我不确定我是否完全理解您的问题,但我认为您希望将索引
I
传递给CoreSelect
函数,并在函数外部从1循环I
。试试这个:
function obj = CoreSelect(obj, WaAc, i)
...
end
for i=1:27,
PVInv.CoreSelect(WaAc,i);
end
谢谢,乔治,它成功了。但当绘制数据时,我只得到数据点,而没有连接它们的线,我尝试使用meshgrid,但它似乎不起作用
function obj = CoreSelect(obj, WaAc, i)
...
end
for i=1:27,
PVInv.CoreSelect(WaAc,i);
end