Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как создать матрицу
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Грендайзер
Здравствуйте. Для создание тест бенча на верилоге, нужно создать матрицу, из векторов:

Код
А= 000001
     111111
     111111
     000001
     000001
     111111
     111111
          .
          .
          .
     111111
     111111
     000001

Размер матрицы 2048х6. В ручную набирать такую штуку долговато... как бы это поэлегантней сделать?
Грендайзер
Неужели никто такого не делал?! sad.gif
Grizzzly
Так?

Код
a = [0 0 0 0 0 1;
        1 1 1 1 1 1;
        1 1 1 1 1 1;
        0 0 0 0 0 1];
A = repmat(a, 2048/4, 1);
Грендайзер
Ух ты спасибо. А то я уже искусственный приём хотел применить с созданием векторов и их вращением и прочими заморочками. Короче сделать всё правой рукой через левое ухо. Но у Вас конечно значительно больше силь ву пле biggrin.gif
Грендайзер
Ещё раз здравствуйте. Подскажите ещё пожалуйста. Как записать Вышеописанную матрицу в .txt файл, вот так:
Код
000001
111111

А то у меня либо так пишет:
Код
0101010...

т.е. в строку, либо так:
Код
0  0  0  0  0  1
1  1  1  1  1  1
1  1  1  1  1  1

т.е. через пробелы. Вообщем никак не выходит sad.gif
Grizzzly
Цитата(Грендайзер @ Nov 26 2016, 17:56) *
Вообщем никак не выходит sad.gif

Код
dlmwrite('test.txt',A,'delimiter','');
Грендайзер
Grizzzly спасибо большое. Правда я уже сам файлик подправил (правка -> найти и заменить). Но это как то не по инженерному sm.gif У Вас лучше.
Мур
Я не спец в Матлабе, но стал вопрос коэффициентов для PLL, когда надо подобрать приемлемый вариант итога. Набросал последовательность, зная, что ограничение по верхней частоте в 1066МГц. Опора в 12МГц.

>> x= [1:1:88];
>> y= [1:1:88];% для двумерного массива смена коэффициентов
>> F=repmat(0,[88 88 1]); % здесь итог
>> F= 12000000*(.x+1)/(.y+1);
F= 12000000*(.x+1)/(.y+1);

Error: Unexpected MATLAB operator.

Хотел посмотреть потом двумерный массив, чтобы выбрать нужное.

Подскажите где ошибка? Спасибо!
des333
Цитата(Мур @ Dec 4 2016, 19:21) *
F= 12000000*(.x+1)/(.y+1);

Error: Unexpected MATLAB operator.

Хотел посмотреть потом двумерный массив, чтобы выбрать нужное.

Подскажите где ошибка? Спасибо!


А что за вошебные точки перед x и y?
Если Вы хотели поэлементую операцию, то тогда точку нужно ставить перед "+"
Мур
>> F=repmat(0,[88 88 1]);
>> for x=1:88
for y=1:88
F(x,y)=12000000*(x+1)/(y+1);
end
end
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.