필터 지우기
필터 지우기

fprint f for a matrix

조회 수: 5 (최근 30일)
Lee
Lee 2013년 11월 18일
답변: Jan 2023년 2월 20일
say i have a nXm matrix of numbers and i need to print it with tabs between itch element how should it be done?
my matrix is
0 3 0
1 2 3
and i want to print it with nonthing where the zeros are and tabs beetween the numbers
i calld he matrix z
and tried this
fprintf('%d\t%d\t%d\n',z(1,1:end))
fprintf('%d\t%d\t%d\n',z(2,1:end))
but its not working
  댓글 수: 1
Walter Roberson
Walter Roberson 2013년 11월 18일
To check: the output should be
[TAB]3[TAB]
1[TAB]2[TAB]3
?

댓글을 달려면 로그인하십시오.

답변 (2개)

Sarthak
Sarthak 2023년 2월 20일
Hi,
You can use a ‘for’ loop to do the same.
Please refer to the following code to understand the problem:
z = [0 3 0; 1 2 3];
[n, m] = size(z);
for i = 1:n
for j = 1:m
if z(i,j) == 0
fprintf('\t')
else
fprintf('%d\t', z(i,j))
end
end
fprintf('\n')
end
This will produce the following output:
3
1 2 3

Jan
Jan 2023년 2월 20일
x = [0 3 0; 1 2 3];
c = sprintfc('%g', x.');
c(x.' == 0) = {''};
fprintf('\t%s\t%s\t%s\n', c{:})
3 1 2 3
% Or:
s = compose("%g", x);
s(s == "0") = "";
fprintf('\t%s\t%s\t%s\n', s.')
3 1 2 3

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by