函数句柄的乘法

问题描述 投票:0回答:1

在Matlab中的第一个M文件中,您可以找到:

f_1 = @(x)(1-x);  
f_2 = @(x)(exp(5^2*3); 

z_1 = FEM(f_1 , N);
z_2 = FEM(f_2 , N);
...

并且在第二个M文件中:

function z = FEM(f, N)
%M is a 10x10 matrix
%f is a 10x1 vector
b=(M*f); 
...
end

如何获得以正确方式计算的b?第一次计算应为

b=(M*f_1); 

第二次获得z_2

b=(M*f_2); 

怎么可能?

matlab function handle
1个回答
0
投票

如果我没弄错的话,您想将M的参数元素发送到f_1f_2函数。

例如:

M = [1, 2, 3, ...; ...]
b = [f_1(1), f_1(2), f_1(3), ...; ... ]

如果您想像上面那样做,您可以像这样:

第一个M文件:

f_1 = @(x)(1-x);  
f_2 = @(x)(exp(5^2*3); 

z_1 = FEM(f_1 , N);
z_2 = FEM(f_2 , N);
...

第二个M文件:

function z = FEM(f,N)
    for i=1:1:10
        for j=1:1:10
            b(i,j) = f(M(i,j))
        end
    end
end

如果不是那样,请通知我。

© www.soinside.com 2019 - 2024. All rights reserved.