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

60 vues (au cours des 30 derniers jours)
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

Réponses (2)

Walter Roberson
Walter Roberson le 7 Avr 2018
display(cell{1,1}, cell{2,1}, cell{3,1});
Or you could use
display(cell{:});

KSSV
KSSV le 7 Avr 2018
fprintf('%s\n',cell{:})
  2 commentaires
Walter Roberson
Walter Roberson le 29 Avr 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by