matlab:函数方面的变量

时间:2014-04-15 13:50:29

标签: matlab math

我遇到类似下面的问题:

A(n-1) = n*A(n) + A(n+1)

鉴于

A(20) = 0
A(19) = beta

如果

计算beta
A(0) = 0.5

所以例如我会得到

n = 19, A(18) = 19*beta
n = 18, A(17) = 18*19*beta - beta

我的问题是,可以代替手动扩展,我可以将每个A(n)值存储在矩阵中,并根据beta进行扩展,以便根据{{{{}}得到最终的A(0) = ...函数1}}。

是否可以使用匿名函数?

2 个答案:

答案 0 :(得分:0)

这将使你早在A(1)。

syms b;
A = [repmat(0,[1,18]),b,0]

    for n = 19:-1:2
        A(n-1) = n*A(n) + A(n+1);
    end

然后,您需要A(1)A(2)以及A(0)的已知值,才能创建solve / subs所需的最终等式。

答案 1 :(得分:0)

您无需使用变量计算此值。由于一切都是线性的,A(19)= beta的序列与A(19)= 1的序列相同,然后每个序列元素乘以β。

因此,从A(20)= 0和A(19)= 1计算A(0)并设置β= 0.05 / A(0)。