3
我有一个矩阵,行数为4个整数,列数未指定(取决于文本文件)。MatLab - 对矩阵中的每一行应用一个函数
我想独立地将函数应用于矩阵的每一行。该功能有4个输入和2个输出。
我想使用arrayfun函数来做到这一点,但每当我调用函数,我得到一个错误:“没有足够的输入参数。”
下面是函数调用:
[gain,phase]=arrayfun(@(x) GainPhaseComp(B(x,1:4)), 1:size(B));
其中b是由4矩阵的n。
下面是函数:
function [gain,phase] = GainPhaseComp(InAmp,InPhase,OutAmp,OutPhase)
gain = 20*log10(OutAmp\InAmp);
phase = (OutPhase - InPhase);
end
任何帮助将不胜感激!
可能重复http://stackoverflow.com/questions/2307249/how-to-apply-a-function-to-every -row-in-matlab – gevang 2013-03-08 02:29:15