Как исправить дополнительное пространство, которое MATLAB отображает после первой итерации - PullRequest
0 голосов
/ 23 марта 2019

У меня есть оператор fprintf, который повторяется 3 раза для отображения некоторых данных.После первой итерации MATLAB отображает загадочное пространство, хотя я не добавил лишних \ t.Он действует так, как если бы у меня был оператор if для отображения другого оператора fprintf после первой итерации, но у меня ничего подобного в коде нет.Смотрите изображение по ссылке для результата, который он отображает

% Display results

fprintf('Panel\tPressure  Cl\tCd\t| Panel\tPressure  Cl\tCd\n')
for q = 1:length(AOA)
       fprintf('--------------\t-------\t------- |--------------\t-- 
        -----\t-------\n')             
       fprintf('AOA %.0f°\t\t%.4f\t%.4f\t|AOA %.0f°
       \t\t%.4f\t%.4f\n'...
       ,AOA(q),Cl(q),CD(q),AOA(q),ClFinal(q),CDFinal(q))
       fprintf('--------------\t-------\t------- |--------------\t-- 
       -----\t-------\n')   
    for j = 1:length(pressure{1})
       fprintf('%.0f\t%.4f\t    |\t  |\t|%.0f\t%.4f\n',j+1,pressure{q} 
       (j),j+1,pFinal{q}(j))       
    end
end

1 Ответ

0 голосов
/ 24 марта 2019

Когда вы fprintf a \t символ, автоматически добавляется пробел до 4 пробелов.Если строка содержит менее 4 символов, строка будет помещена в начало и будет дополняться пробелами до тех пор, пока не будут заполнены 4 символа (в действительности символы с пробелами напоминают только один символ).Если строка содержит более 4 символов, то она будет содержать пробел в 8, 12, 16 и т. Д.1008 *

Первая строка Panel имеет 5 символов и поэтому будет заполнена пробелом с эквивалентом 3 пробелов в конце первого Panel.Однако вторая строка | Panel имеет 7 символов, и поэтому в конце второй строки потребуется только эквивалент 1 пробела.

Чтобы устранить проблему с пробелами, и обеспечить более равномерный интервал междуЗаголовки текста, вы можете поместить символ табуляции после каждого нужного заголовка и соответственно изменить форматирование для других fprintf операторов:

fprintf('Panel\tPressure\tCl\t\tCd\t\t|\tPanel\tPressure\tCl\t\tCd\n')

Вы также можете просмотреть это ссылка для другого примера того, как работает пробел.

Также здесь - это документация MATLAB по форматированию текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...