# How to use fprintf function to display information properly?

5 views (last 30 days)
Spaceman on 23 Feb 2024
Commented: Spaceman on 25 Feb 2024
Given: Radius of 10,15,20 ft and height of 6, 12, 18, 24, 30 ft; Volume of a cylinder is pi*r^2*h
Find: Display the various heights and radii, prompt user to enter minimum acceptable volume in ft^3 and display acceptable designs (which will be a logical) that result in a 1.
...
I just want to double check my code here. For some reason my radius and logical are not being displayed side by side, (like a [3x6] matrix), but instead are displaying like a list. It lists in the problem that I MAY need to create an additional matrix that combines the radius column and the logical array but my attemps were futile.
clear; clc; close all;
r=10:5:20;
h=6:6:30;
dvolume=pi.*r.^2.*h';
minvol=input('Enter the minimum acceptable volume in ft^3: ');
Unable to run the 'fevalJSON' function because it calls the 'input' function, which is not supported for this product offering.
req=dvolume>minvol;
%matreq=r;req % This is my attempt to create the matrix putting them in a [3x6] together
fprintf('Acceptable designs include those with a 1.\n')
fprintf('Heights (ft)'); fprintf('%6i',h); fprintf('\n')
fprintf('%i\n %1.1i\n',r,req)
Adam Danz on 23 Feb 2024
Make life easier. Put the values in a table and then display the table.
Spaceman on 25 Feb 2024
Is that not what I did? I am super nooby at this coding gig, I have only been doing it for 1 month with minimal guidance.

VBBV on 23 Feb 2024
Edited: VBBV on 23 Feb 2024
clear; clc; close all;
r=10:5:20
r = 1x3
10 15 20
h=6:6:30;
dvolume=pi.*r.^2.*h';
minvol= 10; %input('Enter the minimum acceptable volume in ft^3: ');
req=dvolume>minvol
req = 5x3 logical array
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
%matreq=r;req % This is my attempt to create the matrix putting them in a [3x6] together
fprintf('Acceptable designs include those with a 1.\n')
Acceptable designs include those with a 1.
fprintf('Heights (ft)'); fprintf('%6i',h); fprintf('\n')
Heights (ft) 6 12 18 24 30
fprintf('%i %i %i\n',r,req)
10 15 20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VBBV on 23 Feb 2024
for input value of 8800 the logical array output is shown as below
clear; clc; close all;
r=10:5:20;
h=6:6:30;
dvolume=pi.*r.^2.*h';
minvol= 8800; %input('Enter the minimum acceptable volume in ft^3: ');
req=dvolume>minvol;
%matreq=r;req % This is my attempt to create the matrix putting them in a [3x6] together
fprintf('Acceptable designs include those with a 1.\n')
Acceptable designs include those with a 1.
fprintf('Heights (ft)'); fprintf('%6i',h); fprintf('\n')
Heights (ft) 6 12 18 24 30
fprintf('%i %i %i %i %i %i\n',[r;req]) % concatenate vertically
10 0 0 0 0 1 15 0 0 1 1 1 20 0 1 1 1 1
Spaceman on 23 Feb 2024
EUREKA! I swore I had already tried this but I guess I wasn't putting it all together properly. Thank you.

### Categories

Find more on Matrix Indexing in Help Center and File Exchange

R2023b

### Community Treasure Hunt

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

Start Hunting!