2014-04-16 4 views
0
K=12; 
N=2; 
phi_st=0; 
delta_phi=30; 

i=1:K; 
phi(i)=phi_st+(i*delta_phi); 
j=1:N; 
phi_p=180; 

phi_P=(phi_p)*(j-1); 
phi_1=phi(i)+phi_P; 

Теперь мой вопрос, как я могу вычислитьсложение и умножение массивов/структур в Matlab

phi_1 = фи (я) + phi_P;

Ошибка, которую я получаю, является «Ошибка использования + Матричные измерения должны совпадать».

Пожалуйста помогите me.thanks

+1

читать [это] (http://www.mathworks.com/help/matlab/matrices-and-arrays.html), чтобы узнать, как использовать массивы в MATLAB. Вы пытаетесь добавить массив из 2 элементов в массив из 12 элементов. Каковы были ваши намерения? – buzjwa

+0

Мое намерение состоит в том, чтобы добавить первый элемент массива из 2 элементов ко всем элементам 12-элементного массива, а затем сделать то же самое со вторым элементом. Спасибо – Lucie34

+0

Вы должны отредактировать свой вопрос, чтобы прояснить это. Я написал вам ответ. Обязательно прочитайте основы MATLAB в ссылке, которую я вам дал. – buzjwa

ответ

1

Вы хотите сделать:

phi_1 = phi(i) + phi_P(1); 
phi_2 = phi(i) + phi_P(2); 

Обратите внимание, что (i) ненужно здесь. Вы также можете написать:

phi_1 = phi + phi_P(1); 
phi_2 = phi + phi_P(2); 

Если вы хотите, оба результата в матрице вы можете объединить их, как это:

phi_both = [phi_1; phi_2]; 

В качестве альтернативы, вы можете сделать все дополнения между массивом 12 элементов и 2 элемент массива в одной команде, например:

phi_both = bsxfun(@plus, phi, phi_P'); 
+0

Еще раз спасибо Наве. Позвольте мне реализовать это – Lucie34

+0

Рад помочь. Если это решение работает для вас, вы можете принять его. – buzjwa

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