update a string function in matlab

i am using sprintf to generate a message but how can i get a string 'and' in my message between 4 and 5 which is vector b
a=5;b=[4 5];
warningmessage=sprintf('it has happened ''%s'' times in the flight in the ''%s'' second',num2str(a),num2str(b));
uiwait(warndlg(warningmessage,'EGT error'))

 Accepted Answer

a = 5;
b = [4,5];
sprintf('it has happened %d times in the flight, in the %d and %d second',a,b(1),b(2))
ans = 'it has happened 5 times in the flight, in the 4 and 5 second'
A general solution:
tmp = compose('%d',b);
tmp(2,:) = {', '};
tmp{2,end-1} = ' and ';
sprintf('it has happened %d times in the flight, in the %s second',a,[tmp{1:end-1}])
ans = 'it has happened 5 times in the flight, in the 4 and 5 second'

More Answers (0)

Categories

Tags

Asked:

on 31 Jan 2022

Commented:

on 31 Jan 2022

Community Treasure Hunt

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

Start Hunting!