Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 在循环Matlab中改变输入参数调用函数_Function_Matlab_For Loop - Fatal编程技术网

Function 在循环Matlab中改变输入参数调用函数

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

我遇到了一个问题,我知道它没有那么难,但我不知道如何实施它。我有一个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.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