С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Артур73
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 24
1

Присвоить имя переменной такое же как имя файла

07.10.2016, 23:29. Просмотров 838. Ответов 3
Метки нет (Все метки)

Matlab M
1
2
3
4
5
6
7
8
9
10
x = cell(1,100); %подготовим массив для хранения данных
    for go = 1:10 %запись
        start(ai) %старт запускает триггер для записи одной секунды
        x{go} = getdata(ai); %снимаем данные
    end
    
    for go = 1:10 %сохранение
        data = x{go}; %#ok<NASGU> присвоим переменной data
        save(sprintf('data_%03d',go),'data') %и сохраним её в файл
    end
Добавлено через 10 минут
Здесь производится запись 10 сигналов с сохранением их в отдельный файл с названиями data_001 и т.д. Проблема в том, что извлекая данные из 10 сигналов, они содержат одно и то же имя data и не понятно к какому файлу они принадлежат. Поэтому для удобства работы с переменными записей, хотелось бы чтобы их название соответствовало названию файла, т.е. data_001 и т.д.
Пробовал сам сделать - не получается
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2016, 23:29
Ответы с готовыми решениями:

Как присвоить файлу имя из значения строки - переменной
Добрый день! Пожалуйста, подскажите как это решить. У меня такая задача:...

Имя переменной в цикле
Подскажите, как менять имя переменной в цикле Тело состоит из массива...

Как считать имя файла без формата txt
У меня имеются файлы в .txt формате (соответсвенно в директории в названии...

Динамическое имя файла
Добрый день. Подскажите пожалуйста, как нужно исправить код, чтоб создавались...

Как сохранять и менять имя
function difr kol=10; gr1=-50; gr2=50; v=3000; r=randi(,kol,1); a = ';...

3
minore
251 / 125 / 43
Регистрация: 05.02.2015
Сообщений: 745
08.10.2016, 00:01 2
первое что приходит в голову: воспользуйтесь функцией eval.

Добавлено через 13 минут
допустим, у нас есть файл name3.txt, и нам нужно создать такую переменную с именем name3. (цикл сами поставите) получим:
Matlab M
1
2
3
4
i =3; % подставляем разное i для различных файлов
a = ['name' num2str(i)] % сохраняем имя файла
b =['name' num2str(i) ' =a'] % формируем строку с формированием переменной
eval(b) % выполняем код, теперь переменная name3 содержит имя файла name3.txt
0
Артур73
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 24
26.11.2016, 11:08  [ТС] 3
minore, здравствуйте, пробовал применить Вами предложенную функцию к своим сигналам и все равно не получается переименовать переменную data на название соответствующему сигналу.
Сейчас у меня так:
data_001 имеет переменную data;
data_002 - data;
data_003 - data

Нужно чтобы было так:
data_001 - data001;
data_002 - data002;
data_003 - data003.

Пожалуйста, посмотрите как можно это сделать на примере моих трех сигналах. Буду Вам очень признателен.
0
Вложения
Тип файла: rar Сигналы.rar (26.8 Кб, 2 просмотров)
minore
251 / 125 / 43
Регистрация: 05.02.2015
Сообщений: 745
26.11.2016, 22:26 4
могу лишь продублировать тот же код, так как решение рабочее:
Matlab M
1
2
3
4
5
for i =1:3
a = ['name_00' num2str(i)] % сохраняем имя файла
b =['name00' num2str(i) ' =a'] % формируем строку с формированием переменной
eval(b) 
end
все, теперь у вас есть переменные name001, name002, name003.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2016, 22:26

Как изменить имя рисунков?
... Добавлено через 14 минут и как сделать чтобы в рисунке по оси Y были...

Присвоить переменной изображение с веб-камеры
требуется в коде присвоить переменной изображение(фото с веб-камеры), чтобы...

Преобразовать имя обратно в матрицу
Добрый вечер. Подскажите, пожалуйста. Допустим я хочу в цикле совершить одни и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru