How to resolve this error Error using fprintf Function is not defined for 'cell' inputs.

100 visualizaciones (últimos 30 días)
If I got a function like this:
function display(a,b,c)
%Where a & b are strings and c is an integer
fprintf('1: %s \n', a);
fprintf('2: %s \n', b);
fprintf('3: %d \n', c);
end
Also, I got an cell array such that
cell=
'Hi '
'Hey'
'232'
And I want to execute this script:
display(cell{1,1},{2,1},{3,1});
I will get that error
Error using fprintf Function is not defined for 'cell' inputs.
How to overcome this problem?
Thanks in advance

Respuestas (2)

Walter Roberson
Walter Roberson el 7 de Abr. de 2018
display(cell{1,1}, cell{2,1}, cell{3,1});
Or you could use
display(cell{:});

KSSV
KSSV el 7 de Abr. de 2018
fprintf('%s\n',cell{:})
  2 comentarios
Walter Roberson
Walter Roberson el 29 de Abr. de 2022
@Maksudul Alam what problem are you observing?
Note: this approach will not work directly if you have a cell array containing things that are compound structures such as struct or cell or table.
cell= {
'Hi '
'Hey'
'232'
}
cell = 3×1 cell array
{'Hi '} {'Hey'} {'232'}
fprintf('%s\n',cell{:})
Hi Hey 232

Iniciar sesión para comentar.

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by