2015-01-08 2 views
1

У меня есть 3 функции, oe1(n), oe2(n) и oe3(n).Заполнить матрицу значениями функций в Matlab

Я хочу создать матрицу, представляющую значения функций.

Структура матрицы должна быть такой:

A = [oe1(0) oe2(0) oe3(0); oe1(1) oe2(1) od3(1); ...... ; oe1(N-1), oe2(N-1), oe3(N-1)]; 

Я попытался наполняя его for цикла, но он не работает.

Есть ли стандартная операция Matlab для этого? Я действительно не могу понять, как это сделать.

Anders.

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 
+0

Что не работает? Какое сообщение об ошибке вы получаете? – Trilarion

ответ

3

Принимать ли ваши функции? В этом случае вы можете использовать:

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.

Один из способов сделать это с однако цикл будет:

A = zeros(N,3); 
for i = 1:N, 
    A(i,:) = [oe1(i), oe2(i) oe3(i)]; 
end 
+0

Спасибо большое! Быстрый и хороший ответ. – user2922967

Смежные вопросы