Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Импорт данных в matlab
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Stefan1
Добрый день.
Помогите разобраться: как из файла s2p (в который входят как S, так и Z параметры) вытянуть матрицу только Z параметров для дальнейшего редактирования в matlab.
Xenia
Цитата(Stefan1 @ Sep 6 2013, 14:15) *
как из файла s2p (в который входят как S, так и Z параметры) вытянуть матрицу только Z параметров для дальнейшего редактирования в matlab.


Сразу Матлабом его и читайте, а потом его же средствами выделите из той матрицы нужный вам столбец или столбцы. А если заголовок тому мешает, то его можно вручную отрубить.
Santy
load(file.dat);
А далее в матлабе с помощью цикла(в некоторых случаях с помощью присвоения) выбор необходимых данных из файла.
Xenia
Цитата(Santy @ Sep 6 2013, 14:57) *
load(file.dat);


Я использую
dlmread(file);
но не разбиралась с тем, хуже этот способ или лучше.
Stefan1
Можно подробнее: вот я открыл s2p файл в матлабе - и у меня огромная матрица (т.к. там много частот) с 8-ю столбцами, как мне оттуда вытащить именно Z параметры? Вручную уж как то совсем тяжко такую махину редактировать, к тому же, как я понимаю, в этой матрице они представлены в виде амплитуды и угла S параметров...
Xenia
Цитата(Stefan1 @ Sep 6 2013, 15:40) *
Можно подробнее: вот я открыл s2p файл в матлабе - и у меня огромная матрица (т.к. там много частот) с 8-ю столбцами, как мне оттуда вытащить именно Z параметры?


Для этого надо просто вырезать из матрицы то, чего не нужно. Тогда останется только нужное.
Например, если 2-ой столбец в матрице y не нужен, то его можно удалить так:
y = dlmread(file);
y(:,2) = [];
А если не нужны столбцы с 4-го по 6-ой, то так:
y(:,4:6) = [];
Т.е. присваиваем ненужным столбцам пустые квадратные скобочки, после чего они из матрицы пропадут.

P.S. Переговоры можно значительно сократить, если вы приложите к посту свой s2p-файл и укажите, который по счету столбец вам оттуда нужен.
Stefan1
Цитата(Xenia @ Sep 6 2013, 16:12) *
Для этого надо просто вырезать из матрицы то, чего не нужно. Тогда останется только нужное.
Например, если 2-ой столбец в матрице y не нужен, то его можно удалить так:
y = dlmread(file);
y(:,2) = [];
А если не нужны столбцы с 4-го по 6-ой, то так:
y(:,4:6) = [];
Т.е. присваиваем ненужным столбцам пустые квадратные скобочки, после чего они из матрицы пропадут.

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


Пока не определился что удалять надо. Прописал я фразу y = dlmread(file) в файле матлаб, т.е. с расширением .m. И указал вместо "file" - название моего s2p файла, а матлаб почему-то ругается, что тут не так?
Santy
Представте часть файла и тогда будет проще оказать помощь.
Xenia
Цитата(Stefan1 @ Sep 6 2013, 18:08) *
Пока не определился что удалять надо. Прописал я фразу y = dlmread(file) в файле матлаб, т.е. с расширением .m. И указал вместо "file" - название моего s2p файла, а матлаб почему-то ругается, что тут не так?


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


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

Stefan1
Вроде бы разобрался, только znp файл загрузил в матлаб через: read(rfdata.data, 'znp file'). А через load и dlmread почему-то никак не получилось загрузить.
Как и посоветовали выискивал в первоначальной zNp матрице нужный элемент и присваивал его Y-параметру, и дальше составлял новую матрицу из этих новых Z-параметров.
Благодарю всех за помощь!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.