2013-03-21 12 views

Odpowiedz

5

Można użyć fprintf zamiast sprintf. Pamiętaj, aby wstawić znak nowej linii \n na końcu łańcucha.

+0

Oh ... to było proste, dziękuję (trzeba czekać przed przyjęciem). – NLed

+2

Możesz również użyć 'disp'. – Justin

+0

@jucestain Dzięki za informacje – NLed

3

Streszczenie

Wariant 1: disp(['A string: ' s ' and a number: ' num2str(x)])

Wariant 2: disp(sprintf('A string: %s and a number %d', s, x))

Wariant 3: fprintf('A string: %s and a number %d\n', s, x)

Szczegóły

Cytując http://www.mathworks.com/help/matlab/ref/disp.html (Wyświetl wiele zmiennych na tej samej linii)

Istnieją trzy sposoby wyświetlania wielu zmiennych w tym samym wierszu w oknie poleceń.

(1) Łączenie wielu ciągów razem za pomocą operatora []. Konwertuj dowolne wartości numeryczne na znaki za pomocą funkcji num2str. Następnie użyj disp, aby wyświetlić ciąg znaków.

name = 'Alice'; 
age = 12; 
X = [name,' will be ',num2str(age),' this year.']; 
disp(X) 

Alice will be 12 this year.

(2) Można również użyć sprintf aby utworzyć ciąg. Zakończ polecenie sprintf średnikiem, aby zapobiec wyświetlaniu "X =". Następnie użyj disp, aby wyświetlić ciąg znaków.

name = 'Alice'; 
age = 12; 
X = sprintf('%s will be %d this year.',name,age); 
disp(X) 

Alice will be 12 this year.

(3) Alternatywnie, zastosowanie fprintf do tworzenia i wyświetlania tekstowej. W przeciwieństwie do funkcji sprintf, fprintf nie wyświetla tekstu "X =". Należy jednak zakończyć ciąg metaznak nowej linii (\ n), aby poprawnie zakończyć wyświetlanie.

name = 'Alice'; 
age = 12; 
X = fprintf('%s will be %d this year.\n',name,age); 

Alice will be 12 this year.