在 Matlab 中用函数值填充矩阵
Fill matrix with function values in Matlab
我有 3 个函数,oe1(n)
、oe2(n)
和 oe3(n)
。
我想创建一个表示函数值的矩阵。
矩阵的结构应该是这样的:
A = [oe1(0) oe2(0) oe3(0); oe1(1) oe2(1) od3(1); ...... ; oe1(N-1), oe2(N-1), oe3(N-1)];
我尝试用 for
循环填充它,但它不起作用。
这个有标准的Matlab操作吗?我真的不知道该怎么做。
安德斯。
oe1(n1) = sin(2*pi*F*n1+phi)
oe2(n1) = ones(length(n1),1);
oe3(n1) = n1*Ts
pol = (oe2)'
vector_x = [a; b; c];
vector_veardier = [oe1(n1), 1, oe3(n1)]
xi = 1:N-1;
for i = 2:N-1;
for j = 1:3
vector_veardier(i, j) = oe1(j);
end
end
你们的函数接受向量吗?如果是这样,您可以使用:
A = [oe1((1:N)'), oe2((1:N)'), oe3((1:N)')];
但否则你可能必须使用 arrayfun
:
A = [arrayfun(@oe1, (1:N)'), arrayfun(@oe2, (1:N)'), arrayfun(@oe3, (1:N)')];
请注意,在您提供的代码中,您没有将 oEN 定义为函数,而是将其定义为某种在位置 n1 插入值的数组。
使用 for 循环的一种方法是:
A = zeros(N,3);
for i = 1:N,
A(i,:) = [oe1(i), oe2(i) oe3(i)];
end
我有 3 个函数,oe1(n)
、oe2(n)
和 oe3(n)
。
我想创建一个表示函数值的矩阵。
矩阵的结构应该是这样的:
A = [oe1(0) oe2(0) oe3(0); oe1(1) oe2(1) od3(1); ...... ; oe1(N-1), oe2(N-1), oe3(N-1)];
我尝试用 for
循环填充它,但它不起作用。
这个有标准的Matlab操作吗?我真的不知道该怎么做。
安德斯。
oe1(n1) = sin(2*pi*F*n1+phi)
oe2(n1) = ones(length(n1),1);
oe3(n1) = n1*Ts
pol = (oe2)'
vector_x = [a; b; c];
vector_veardier = [oe1(n1), 1, oe3(n1)]
xi = 1:N-1;
for i = 2:N-1;
for j = 1:3
vector_veardier(i, j) = oe1(j);
end
end
你们的函数接受向量吗?如果是这样,您可以使用:
A = [oe1((1:N)'), oe2((1:N)'), oe3((1:N)')];
但否则你可能必须使用 arrayfun
:
A = [arrayfun(@oe1, (1:N)'), arrayfun(@oe2, (1:N)'), arrayfun(@oe3, (1:N)')];
请注意,在您提供的代码中,您没有将 oEN 定义为函数,而是将其定义为某种在位置 n1 插入值的数组。
使用 for 循环的一种方法是:
A = zeros(N,3);
for i = 1:N,
A(i,:) = [oe1(i), oe2(i) oe3(i)];
end