Умножение дескриптора функции - PullRequest
0 голосов
/ 17 июня 2020

В первом M-файле в Matlab вы можете найти:

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); 

Как это возможно?

1 Ответ

0 голосов
/ 18 июня 2020

Если я не ошибся, вы хотите отправить как элемент параметра функций M в f_1 и f_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

Если не так, вы мне сообщите.

...