添加函数句柄

时间:2015-10-19 18:10:43

标签: matlab function-handle

我在MATLAB中有一个包含n个函数句柄C的单元格数组@(t)。我还有一个包含x_star常量的向量n。我现在正在尝试创建一个新的函数句柄,该函数句柄由单元格数组中位置i上的函数乘以向量中位置i上的常量。我一直在尝试使用此代码,但它只输出“index beyond matrix dimensions”:

M= @(t) 0;
for i=1:length(x_star)
M = @(t) M(t)+ C{i}(t)*x_star(i);
end

是否可以这样做或者有更方便的方法吗?

x_starC定义为:

w=2*pi/24; 
C = cell(n,1);       
C{1}=@(t) 1;
for i=2:n
    if (mod(i,2)==0)               
        f = @(t) sin(0.5*i*w*t);
    else
        f = @(t) cos(0.5*(i-1)*w*t);
    end
C{i}=f;
end


 A = zeros(length(t),n);     %% Initialize A-matrix
A(:,1)=C{1};
for i=2:n
        A(:,i)=C{i}(t);
end
x_star = (transpose(A)*A)\transpose(A)*y;   
r_star=y-A*x_star;            

0 个答案:

没有答案