Array using for loop: using sprintf
5 views (last 30 days)
Show older comments
Make the following two vectors, each with the same number of elements (77). v1: a 1D-array with random numbers (floats) between 0 and 8515.0 . v2: the nearest integer value corresponding to every element of v1. now use the sprintf() command to print a table with 77 rows and 3 columns. The first column contains v2 (displayed as integers, so 41 instead of 41.000). The second column contains v1, displayed as floats with 2 decimals. The third column contains v1 displayed in scientific notation, with 3 decimals. I know we have to make use of for loop in this, but how?
Thanks in advance
1 Comment
Stephen23
on 12 Sep 2016
@Ullas Rajvanshi: what have you tried so far?
If we do you work for you, how do you expect to learn anything from that course?
Accepted Answer
Stephen23
on 12 Sep 2016
Edited: Stephen23
on 12 Sep 2016
You could use a loop like this:
- define the two vectors, say X and Y.
- loop over them, using for k = 1:numel(X).
- use indexing each loop to access the vector elements
- call sprintf with those values.
But actually you don't need to use a loop at all. Have a look at this:
>> M = 9*rand(1,5);
>> fprintf('%4.0f,%7.2f,%12.3e\n',[M;M;M])
7, 6.82, 6.820e+00
7, 6.69, 6.688e+00
4, 3.53, 3.530e+00
6, 5.90, 5.899e+00
2, 1.54, 1.541e+00
3 Comments
Stephen23
on 12 Sep 2016
@Ullas Rajvanshi: I am glad that you got motivated. I really do wish you lots of luck and fun learning MATLAB! And please come and ask questions when something does not work for you.
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!