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

Импорт данных в matlab

Добрый день.

Помогите разобраться: как из файла s2p (в который входят как S, так и Z параметры) вытянуть матрицу только Z параметров для дальнейшего редактирования в matlab.

Изменено пользователем Stefan1

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


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

как из файла s2p (в который входят как S, так и Z параметры) вытянуть матрицу только Z параметров для дальнейшего редактирования в matlab.

 

Сразу Матлабом его и читайте, а потом его же средствами выделите из той матрицы нужный вам столбец или столбцы. А если заголовок тому мешает, то его можно вручную отрубить.

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


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

load(file.dat);

А далее в матлабе с помощью цикла(в некоторых случаях с помощью присвоения) выбор необходимых данных из файла.

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


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

load(file.dat);

 

Я использую

dlmread(file);

но не разбиралась с тем, хуже этот способ или лучше.

 

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


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

Можно подробнее: вот я открыл s2p файл в матлабе - и у меня огромная матрица (т.к. там много частот) с 8-ю столбцами, как мне оттуда вытащить именно Z параметры? Вручную уж как то совсем тяжко такую махину редактировать, к тому же, как я понимаю, в этой матрице они представлены в виде амплитуды и угла S параметров...

Изменено пользователем Stefan1

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


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

Можно подробнее: вот я открыл s2p файл в матлабе - и у меня огромная матрица (т.к. там много частот) с 8-ю столбцами, как мне оттуда вытащить именно Z параметры?

 

Для этого надо просто вырезать из матрицы то, чего не нужно. Тогда останется только нужное.

Например, если 2-ой столбец в матрице y не нужен, то его можно удалить так:

y = dlmread(file);

y(:,2) = [];

А если не нужны столбцы с 4-го по 6-ой, то так:

y(:,4:6) = [];

Т.е. присваиваем ненужным столбцам пустые квадратные скобочки, после чего они из матрицы пропадут.

 

P.S. Переговоры можно значительно сократить, если вы приложите к посту свой s2p-файл и укажите, который по счету столбец вам оттуда нужен.

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


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

Для этого надо просто вырезать из матрицы то, чего не нужно. Тогда останется только нужное.

Например, если 2-ой столбец в матрице y не нужен, то его можно удалить так:

y = dlmread(file);

y(:,2) = [];

А если не нужны столбцы с 4-го по 6-ой, то так:

y(:,4:6) = [];

Т.е. присваиваем ненужным столбцам пустые квадратные скобочки, после чего они из матрицы пропадут.

 

P.S. Переговоры можно значительно сократить, если вы приложите к посту свой s2p-файл и укажите, который по счету столбец вам оттуда нужен.

 

Пока не определился что удалять надо. Прописал я фразу y = dlmread(file) в файле матлаб, т.е. с расширением .m. И указал вместо "file" - название моего s2p файла, а матлаб почему-то ругается, что тут не так?

Изменено пользователем Stefan1

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


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

Пока не определился что удалять надо. Прописал я фразу y = dlmread(file) в файле матлаб, т.е. с расширением .m. И указал вместо "file" - название моего s2p файла, а матлаб почему-то ругается, что тут не так?

 

Скорее всего, мешает заколовок или что-то, что является не числом, а словом.

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


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

Stefan1

Помогите разобраться: как из файла s2p (в который входят как S, так и Z параметры) вытянуть матрицу только Z параметров для дальнейшего редактирования в matlab.

 

В файл s2p могут входить отдельно S-параметры или Z-параметры. Что именно входит, написано в начале файла, после символа # (если после символа ничего не написано, то значит у вас S-параметры). Одновременно их не бывает. Если у вас S-параметры, а нужны Z-параметры, то читаете столбцы с помощью функций Matlab, которые вам порекомендовали выше, и затем по формулам переводите.

 

 

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


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

Вроде бы разобрался, только znp файл загрузил в матлаб через: read(rfdata.data, 'znp file'). А через load и dlmread почему-то никак не получилось загрузить.

Как и посоветовали выискивал в первоначальной zNp матрице нужный элемент и присваивал его Y-параметру, и дальше составлял новую матрицу из этих новых Z-параметров.

Благодарю всех за помощь!

Изменено пользователем Stefan1

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


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

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

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

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

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

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

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

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

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

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