How can I put an output from the display function in a table?

조회 수: 6 (최근 30일)
Scott Banks
Scott Banks 2024년 3월 25일
편집: VBBV 2024년 3월 27일
Hi there,
I am wondering how I can put the results using the display function into a table.
This is the code:
Section = ['254 x 254 x 73';'254 x 146 x 31';'254 x 146 x 31';'254 x 254 x 73';'254 x 254 x 73';'152 x 152 x 51';'152 x 152 x 51';'152 x 152 x 51';'203 x 203 x 46';'203 x 203 x 52'];
h = [254.1; 251.4; 251.4; 254.1; 254.1; 170.2; 170.2; 170.2; 203.2; 206.2];
b = [254.6; 146.1; 146.1; 254.6; 254.6; 157.4; 157.4; 157.4; 203.6; 204.3];
tw = [8.6; 6.00; 6.00; 8.6; 8.6; 11.00; 11.00; 11.00; 7.2; 7.9];
tf = [14.2; 8.6; 8.6; 14.2; 14.2; 15.7; 15.7; 15.7; 11.00; 12.5];
r = [12.7; 7.6; 7.6; 12.7; 12.7; 7.6; 7.6; 7.6; 10.2; 10.2];
E = 0.81;
for i = 1:length(h)
Cw(i) = h(i) - 2*(tf(i)) - 2*(r(i));
c_w(i) = Cw(i)/(tw(i));
if c_w(i) < 72*E
disp("Web is class 1")
else
disp("Web is not class 1")
end
Cf(i) = b(i)/2 - tw(i)/2 - r(i);
c_f(i) = Cf(i)/tf(i);
if c_f(i) < 9*E
disp("Flange is class 1")
elseif c_f(i) < 10*E
disp("Flange is class 2")
else
disp("Section is Class 3 or 4")
end
end
I would like to have a table with the 'sections' displaying "Web is class 1" or "Flange is class 2". MATLAB doesn't seem to let me assign a variable to the display function, so I can't work out how to put the data into a table.
Can someone help please?

답변 (2개)

Fangjun Jiang
Fangjun Jiang 2024년 3월 25일
Create a table, fill the data and display it.
doc table

VBBV
VBBV 2024년 3월 25일
편집: VBBV 2024년 3월 25일
Section = ['254 x 254 x 73';'254 x 146 x 31';'254 x 146 x 31';'254 x 254 x 73';'254 x 254 x 73';'152 x 152 x 51';'152 x 152 x 51';'152 x 152 x 51';'203 x 203 x 46';'203 x 203 x 52'];
h = [254.1; 251.4; 251.4; 254.1; 254.1; 170.2; 170.2; 170.2; 203.2; 206.2];
b = [254.6; 146.1; 146.1; 254.6; 254.6; 157.4; 157.4; 157.4; 203.6; 204.3];
tw = [8.6; 6.00; 6.00; 8.6; 8.6; 11.00; 11.00; 11.00; 7.2; 7.9];
tf = [14.2; 8.6; 8.6; 14.2; 14.2; 15.7; 15.7; 15.7; 11.00; 12.5];
r = [12.7; 7.6; 7.6; 12.7; 12.7; 7.6; 7.6; 7.6; 10.2; 10.2];
E = 0.81;
for i = 1:length(h)
Cw(i) = h(i) - 2*(tf(i)) - 2*(r(i));
c_w(i) = Cw(i)/(tw(i));
if c_w(i) < 72*E
T1{i} = "Web is class 1";
else
T1{i} = "Web is not class 1";
end
Cf(i) = b(i)/2 - tw(i)/2 - r(i);
c_f(i) = Cf(i)/tf(i);
if c_f(i) < 9*E
T2{i} = "Flange is class 1";
elseif c_f(i) < 10*E
T2{i} = "Flange is class 2";
else
T2{i} = "Section is Class 3 or 4";
end
end
Table = table(c_w.',c_f.',T1.',T2.');
disp(Table)
Var1 Var2 Var3 Var4 ______ ______ ____________________ _______________________ 23.291 7.7676 {["Web is class 1"]} {["Flange is class 2"]} 36.5 7.2616 {["Web is class 1"]} {["Flange is class 1"]} 36.5 7.2616 {["Web is class 1"]} {["Flange is class 1"]} 23.291 7.7676 {["Web is class 1"]} {["Flange is class 2"]} 23.291 7.7676 {["Web is class 1"]} {["Flange is class 2"]} 11.236 4.1783 {["Web is class 1"]} {["Flange is class 1"]} 11.236 4.1783 {["Web is class 1"]} {["Flange is class 1"]} 11.236 4.1783 {["Web is class 1"]} {["Flange is class 1"]} 22.333 8 {["Web is class 1"]} {["Flange is class 2"]} 20.354 7.04 {["Web is class 1"]} {["Flange is class 1"]}
  댓글 수: 4
Scott Banks
Scott Banks 2024년 3월 25일
Great! Thanks again.
VBBV
VBBV 2024년 3월 27일
편집: VBBV 2024년 3월 27일
@Scott BanksAn alternative to disp and table functions is using fprintf function as below
Section = ['254 x 254 x 73';'254 x 146 x 31';'254 x 146 x 31';'254 x 254 x 73';'254 x 254 x 73';'152 x 152 x 51';'152 x 152 x 51';'152 x 152 x 51';'203 x 203 x 46';'203 x 203 x 52'];
h = [254.1; 251.4; 251.4; 254.1; 254.1; 170.2; 170.2; 170.2; 203.2; 206.2];
b = [254.6; 146.1; 146.1; 254.6; 254.6; 157.4; 157.4; 157.4; 203.6; 204.3];
tw = [8.6; 6.00; 6.00; 8.6; 8.6; 11.00; 11.00; 11.00; 7.2; 7.9];
tf = [14.2; 8.6; 8.6; 14.2; 14.2; 15.7; 15.7; 15.7; 11.00; 12.5];
r = [12.7; 7.6; 7.6; 12.7; 12.7; 7.6; 7.6; 7.6; 10.2; 10.2];
E = 0.81;
for i = 1:length(h)
Cw(i) = h(i) - 2*(tf(i)) - 2*(r(i));
c_w(i) = Cw(i)/(tw(i));
if c_w(i) < 72*E
T1{i} = "Web is class 1";
fprintf(' ')
fprintf('\nc_w section')
fprintf('------------------------------------')
fprintf('%2.2d\t %s\n',c_w(i),T1{i})
else
T1{i} = "Web is not class 1";
fprintf('%2.2d\t %s\n',c_w(i),T1{i})
end
Cf(i) = b(i)/2 - tw(i)/2 - r(i);
c_f(i) = Cf(i)/tf(i);
if c_f(i) < 9*E
T2{i} = "Flange is class 1";
fprintf(' ')
fprintf('\nc_f section')
fprintf('-----------------------------------')
fprintf('%2.2d\t %s\n',c_f(i),T2{i})
elseif c_f(i) < 10*E
T2{i} = "Flange is class 2";
fprintf('%2.2d\t %s\n',c_f(i),T2{i})
else
T2{i} = "Section is Class 3 or 4";
fprintf('%2.2d\t %s\n',c_f(i),T2{i})
end
end
c_w section
------------------------------------
2.33e+01 Web is class 1
7.77e+00 Flange is class 2
c_w section
------------------------------------
3.65e+01 Web is class 1
c_f section
-----------------------------------
7.26e+00 Flange is class 1
c_w section
------------------------------------
3.65e+01 Web is class 1
c_f section
-----------------------------------
7.26e+00 Flange is class 1
c_w section
------------------------------------
2.33e+01 Web is class 1
7.77e+00 Flange is class 2
c_w section
------------------------------------
2.33e+01 Web is class 1
7.77e+00 Flange is class 2
c_w section
------------------------------------
1.12e+01 Web is class 1
c_f section
-----------------------------------
4.18e+00 Flange is class 1
c_w section
------------------------------------
1.12e+01 Web is class 1
c_f section
-----------------------------------
4.18e+00 Flange is class 1
c_w section
------------------------------------
1.12e+01 Web is class 1
c_f section
-----------------------------------
4.18e+00 Flange is class 1
c_w section
------------------------------------
2.23e+01 Web is class 1
08 Flange is class 2
c_w section
------------------------------------
2.04e+01 Web is class 1
c_f section
-----------------------------------
7.04e+00 Flange is class 1
% Table = table(c_w.',c_f.',T1.',T2.');
% disp(Table)

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

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by