在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);
怎么可能?
如果我没弄错的话,您想将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
如果不是那样,请通知我。