fprintf command output and extra output
2 次查看(过去 30 天)
显示 更早的评论
I am trying to change a sound file to ouput an echo.I have to output a column vector of size [4 1]. My output is:
output=echo_gen([-.5;0;.5;0],1,0,.5)
output =
-0.7500
0
0.7500
0
However, this is incorrect. I think it needs to be outputing like this:
output=echo_gen([-.5;0;.5;0],1,0,.5)
output =
-0.75
0
0.75
0
I tried using the fprintf('%g',output) and fprintf('%.2f',output) to remove the trailing zeros, but when i do that, i get this:
output=echo_gen([-.5;0;.5;0],1,0,.5)
-0.75
0
0.75
0
output =
15
Where is the output=15 coming from, and how do i remove it to get only the colum vector?
Thanks in advance.
0 个评论
采纳的回答
Stephen23
2019-4-22
编辑:Stephen23
2019-4-22
"Where is the output=15 coming from..."
The fprintf documentation clearly describes that its only output is "Number of bytes that fprintf writes, returned as a scalar", which in your case also corresponds to characters on each line: 5 + 1 + 4 + 1 + 4(newlines) = 15.
"...and how do i remove it to get only the colum vector?"
Just suppress the function output using a semi-colon:
output=echo_gen(...);
^ you need this!
But as mentioned at the start of my answer, I suspect that you really want to be using sprintf, not fprintf, as you indicate that you want to print text to an output argument.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!