запись двоичного значения в массив - PullRequest
0 голосов
/ 05 сентября 2011
for n = 1:99
    k(n) = n;
    x_d(n) = n/100;    
    x_fp_temp=fi(x_d(n),1);

    x_fp_bin(n)=bin(x_fp_temp)
end

Привет, я пытаюсь записать двоичное значение в массив x_fp_bin (n) ,, но получаю ошибку Subscripted assignment dimension mismatch. Может кто-нибудь, пожалуйста, помогите мне

Ответы [ 2 ]

2 голосов
/ 05 сентября 2011

Это строка:

x_fp_bin(n) = bin(x_fp_temp);

, который подведет тебя. В основном это потому, что вы возвращаете массив символов (1 и 0), и вы не можете поместить это непосредственно в одномерный массив. Либо используйте больший массив:

x_fp_bin(n,:) = bin(x_fp_temp);

или используйте cellstrs:

x_fp_bin(n) = {bin(x_fp_temp)};

Кроме того, есть ли причина, по которой вы используете цикл вместо записи в массиве?

bin_arr = bin(fi((1:99)'./100, 1));
0 голосов
/ 05 сентября 2011

Просто угадайте, потому что вы не написали, какая строка выдает эту ошибку.

эта строка:

x_fp_temp=fi(x_d(n),1);

определяет массив n x 1

this:

x_fp_bin(n)

- это скалярное значение (т. е. 1 x 1)

мне кажется, что вы пытаетесь присвоить вектор массиву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...