首页 > 解决方案 > 函数句柄元胞数组的总和

问题描述

我有一个包含函数句柄的大小为 (n,1) 的单元格数组。每个单元格都必须包含特定的函数句柄和先前单元格中函数句柄的总和。我该如何执行此操作?为了澄清这一点,这是一个例证。

A = cell(size(ones(n,1)));
for i = 1 : n
    A{i,1} = @(x) A{i-1,1} + i .* x;
end

如何到达A{n,1}x = 2例如)

标签: matlab

解决方案


您实际上非常接近,但您需要添加一个特殊情况,i = 1并且您需要调用该函数:

n = 10;
A = cell(size(ones(n,1)));

A{1,1} = @(x) 1 .* x;
for ii = 2 : n
    A{ii,1} = @(x) A{ii-1,1}(x) + ii .* x;
end

我替换iii, 以避免与复数混淆。对于案例n = 10

>> A{n}(2)

ans =

   110

推荐阅读