Перейти к содержанию
    

Как создать матрицу

Здравствуйте. Для создание тест бенча на верилоге, нужно создать матрицу, из векторов:

 

А= 000001
     111111
     111111
     000001
     000001
     111111
     111111
          .
          .
          .
     111111
     111111
     000001

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели никто такого не делал?! :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так?

 

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:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё раз здравствуйте. Подскажите ещё пожалуйста. Как записать Вышеописанную матрицу в .txt файл, вот так:

000001
111111

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

0101010...

т.е. в строку, либо так:

0  0  0  0  0  1
1  1  1  1  1  1
1  1  1  1  1  1

т.е. через пробелы. Вообщем никак не выходит :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Grizzzly спасибо большое. Правда я уже сам файлик подправил (правка -> найти и заменить). Но это как то не по инженерному :) У Вас лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не спец в Матлабе, но стал вопрос коэффициентов для 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.

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

F= 12000000*(.x+1)/(.y+1);

Error: Unexpected MATLAB operator.

 

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

 

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

 

А что за вошебные точки перед x и y?

Если Вы хотели поэлементую операцию, то тогда точку нужно ставить перед "+"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...