2009-06-18 17 views
17

Czy istnieje sposób na wyjście/wyświetlenie informacji z programu MATLAB bez końcowego wiersza?Wyświetlanie informacji z MATLAB bez podawania wiersza

Mój program MATLAB generuje od czasu do czasu pewną liczbę. Pomiędzy wyprowadzaniem numeru program robi dużo innych rzeczy. Jest to konstrukcja służąca głównie do wskazania pewnego rodzaju postępu i dobrze byłoby nie mieć linii za każdym razem, po to, aby była bardziej czytelna dla użytkownika. Jest to w przybliżeniu co szukam:

Current random seed: 
4 7 1 1 

Kolejne wyjście z programu będzie w tym samym wierszu, jeśli jest nadal robi to samo, co wcześniej.

Czytałem dokument o disp, sprintf i formacie, ale nie znalazłem tego, czego szukam. To nie znaczy, że tego nie ma. ;)

Odpowiedz

22

Funkcja fprintf nie dodaje wiersza, chyba że wyraźnie go o tym poinformujesz. Pomiń argument fid, aby go wydrukować w oknie poleceń.

fprintf('Doing stuff... '); 
for i = 1:5 
    fprintf('%d ', i); 
    % do some work on that pass... 
end 
fprintf(' done.\n'); % That \n explicitly adds the linefeed 

Korzystanie sprintf nie dość pracy: tworzy ciąg bez nowego wiersza, ale jeśli używasz disp() lub pominąć średnik, własna logika wyświetlacz DISP doda się do nowego wiersza.

+2

Uwaga: w zależności od platformy może być konieczne wywołanie "drawnow;" po fprintf. –

+0

Działa jak urok. – AnnaR

+0

co wiesz, robiłem disp (sprintf (...)) od lat i nigdy nie wiedziałem, że możesz po prostu użyć fprintf. –

Powiązane problemy