2010-08-31 57 views
1

我有一个包含在匿名方程中的方程组。我不想在创建函数时定义所有方程式,而是希望在for循环的每个步骤中添加一个方程式。这可能吗?将输出添加到循环中的匿名函数

+0

你是指匿名函数?你是什​​么意思“匿名方程中包含的方程组”? – Mikhail 2010-09-01 06:37:53

+1

你能否提供你现在的代码,以便我们看到你想要做的事情? – Marc 2010-09-01 15:30:28

回答

5

我想如果你有一组线性方程组,你可以使用一个矩阵来构造它,然后你可以通过向矩阵和/或其伴随的右侧向量添加行和列来自由地包含新操作。

如果你真的想要使用匿名函数,比如说你的函数是非线性的,那么我建议你去查看arrays of anonymous functions。例如,

A = cell(3,1);   % Preallocate a 3 by 1 cell array 
for ii = 1:3 
    A{ii} = @(x) x^2+ii; % Fill up the array with anonymous functions 
end 

现在,如果你检查什么包含在单元阵列“A”'S,

A = @(x)x^2+ii 
    @(x)x^2+ii 
    @(x)x^2+ii 

不要担心的“II”显示屏,而不是循环变量的实际数量正如我们之前给出的那样,MATLAB已经在内部用这些值替换它们。在当前函数范围中更改'ii'也不会影响'A'中的值。

因此, A{1}(2) = 5A{2}(2) = 6A{3}(2) = 7

如果你不熟悉的电池阵列,你可以在它的使用here阅读起来。

再一次,你试图实现的可能是不同的。我希望这对你有用。

相关问题