Borrar filtros
Borrar filtros

How do I input my data in the correct format to overcome the problem "unable to peform assignment with 0 elements on the right hand side"

1 visualización (últimos 30 días)
I am running matlab on an HPC and wish to create multiple array jobs changing the variable in Examplescript (Opts) to the name of the file in 'testfiles.txt'. I am unable to overcxome the problem "unable to peform assignment with 0 elements on the right hand side" when creating the variable Opts.subject = data{i}.
My code is:
i = getenv('PBS_ARRAY_INDEX')
index = str2num(i)
f = fopen( 'testfiles.txt' )
data = textscan(f, '%s' )
fclose(f)
Opts.subject = data{i}
Opts.subject
Examplescript (Opts)
'testfiles.txt' contains:
003_S_4136
006_S_4192
006_S_4546
Your help would be most welcome.
  2 comentarios
Bob Thompson
Bob Thompson el 4 de Dic. de 2018
The error would seem to indicate that data is an empty array. Are you sure that the textscan command is properly scanning your file?
AV
AV el 5 de Dic. de 2018
Thank you for your suggestion - it does seem to be scanning the file properly.

Iniciar sesión para comentar.

Respuestas (1)

Cris LaPierre
Cris LaPierre el 5 de Dic. de 2018
Editada: Cris LaPierre el 5 de Dic. de 2018
Your main issue is that, apparently, i is a char. At least you use str2num to convert it when creating index. You should therefore be using 'index' instead of 'i' in your assignment.
Opts.subject = data{index}
However, there is, I suspect, another issue.
data is a 1x1 cell.
data{1} is a 3×1 cell array:
{'003_S_4136'}
{'006_S_4192'}
{'006_S_4546'}
data{1}{index} (where index = 1) is '003_S_4136'.
Your code makes me think you want to pull out the first subject id, not all 3 at once.
  2 comentarios
AV
AV el 5 de Dic. de 2018
Thank you - agreed to use index instead. You are correct about the second issue. Is there a way to reformat this to run all 3 at once?
Cris LaPierre
Cris LaPierre el 5 de Dic. de 2018
Maybe. It all depends on what your code does. What does running all 3 at once mean?

Iniciar sesión para comentar.

Categorías

Más información sobre Application Deployment en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by