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

11 visualizzazioni (ultimi 30 giorni)
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

Risposte (2)

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

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

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by