Matlab ››Размеры соединяемых матриц не согласованы

У меня есть информация об углах:

for i=1:10
   angles = func1(val);
   polar([angles 0]*pi/180,[15 0],'r');
end

углы - это матрица 512x1, но Matlab выдает ошибку в функции polar(), например

Ошибка при использовании horzcat Размеры объединяемых матриц не согласованы.

Как решить эту проблему? пожалуйста, помогите мне, ребята


person Binja    schedule 31.10.2013    source источник
comment
angles с s в конце, это опечатка? Иначе что это? Какие у него размеры?   -  person Dan    schedule 31.10.2013
comment
это просто имя переменной и одномерная матрица 512x1, извините, я отредактировал исходный пост   -  person Binja    schedule 31.10.2013
comment
Да, но у вас есть angle и angles, это две разные переменные??   -  person Dan    schedule 31.10.2013
comment
это одна и та же переменная, я ошибся   -  person Binja    schedule 31.10.2013
comment
Ваша проблема в том, что вы объединяете неправильное измерение. Попробуйте [angles; 0]   -  person Dan    schedule 31.10.2013
comment
куда добавить этот? это дает ошибку в обоих случаях ([angles; 0] = func () и polar ([angles; 0]   -  person Binja    schedule 31.10.2013
comment
давайте продолжим обсуждение в чате   -  person Binja    schedule 31.10.2013


Ответы (2)


Если angles является вектором-столбцом, как вы говорите (512x1), вы не можете объединить 0 справа. Вы должны объединить ниже: заменить [angles 0] на [angles; 0].

Другая возможная ошибка заключается в том, что два векторных аргумента polar должны иметь одинаковый размер, а в вашем случае это не так.

person Luis Mendo    schedule 31.10.2013
comment
Я изменил, но: error››› THETA и RHO должны быть одного размера. я не понимаю ваш второй абзац - person Binja; 31.10.2013
comment
@Bayanaa Мой абзац с описанием был именно таким: оба аргумента (THETA и RHO) должны иметь одинаковый размер. В вашем случае их размеры на первой итерации 513х1 и 1х2: не совпадают - person Luis Mendo; 31.10.2013
comment
В зависимости от того, что вы собираетесь отображать в этой строке polar. Что ты хочешь делать? Почему только два значения RHO (15 и 0)? - person Luis Mendo; 31.10.2013
comment
Я просто хочу построить углы (из моей функции, которую я получил информацию об углах), используя полярную функцию, если rho имеет одно значение, синяя линия не может отображаться также с тета ([углы 0]) - person Binja; 31.10.2013
comment
Вы не можете построить 512 углов против 2 радиусов - person Luis Mendo; 31.10.2013
comment
Я хочу построить это один за другим - person Binja; 31.10.2013
comment
давайте продолжим это обсуждение в чате - person Binja; 31.10.2013

Я решил свою проблему. Я получил доступ к элементам векторов столбцов 512x1 один за другим.

person Binja    schedule 01.11.2013