Как сохранить график в соответствии с массивом имен в MATLAB, все из командной строки?

У меня есть массив в виде

a = {'a','b',...'t'};

b = {'1','2',....'20'};

Я делаю что-то, чтобы построить свои наборы данных (у меня их 20) с помощью цикла, и я хочу сохранить свои цифры следующим образом:

a1.jpg

b2.jpg

.

.

.

для всех 20 наборов данных.

Итак, моя конфигурация имеет вид

for i = 1:10


*do stuff to get plot*
save(....)???

Я не знаю, как это сделать. У меня цифра h =; срок, и я ожидал сделать что-то вроде

save(h,'dataset_a(i)_b(i),'jpg')

Однако при именовании должны использоваться элементы моего массива «a» и «b». Как я мог формально добавлять такие строковые записи из массивов?


person John Yates    schedule 21.07.2015    source источник


Ответы (2)


Вы должны создать строку для имени файла для сохранения:

for i = 1:10
  h = plot(); % anything to plot here
  fname = strcat('dataset_', a{i}, '_', b{i});
  saveas(h, fname, 'jpg');
end

Обратите внимание, что вы должны использовать saveas вместо save. Использование save не может дать вам выходной формат JPEG, даже если вы использовали .jpg в имени файла (он создает .jpg файл, но не может быть открыт).

person scmg    schedule 21.07.2015

Почти

save(h,['dataset_', a{i}, '_', b{i},'.jpg'])
person user1543042    schedule 21.07.2015