使用 for 循环打印元胞数组中的信息
Printing information from a cell array with for loops
我正在尝试在此处创建一个名为 'crewsize' 的函数,它采用空域元胞数组(元胞数组 'airspace' 将在下面显示),输出将使用 fprintf a table的航班号和机组人数。
空域单元阵列看起来像这样
airspace =
'BF 123' [ 515.2000] [ 90] [154] 'Behnam Jane Jill...' 'Montreal' [22000] [1x2 double]
'VS0 456' [ 99.6000] [270] [ 31] 'Frances, Jake, J...' 'Los Angeles' [21000] [1x2 double]
'BF 8421' [1.5057e+03] [170] [ 0] 'Giuseppe, Susan' 'Calgary' [33000] [1x2 double]
'AB 896' [ 500] [ 90] [132] 'Hao, Ashraf, Sue' 'Montreal' [33000] [1x2 double]
本题可以忽略[1x2双列]。
至于功能,我完全迷路了,不确定如何从我的代码开始,我不明白 fprintf 的概念,真的很想得到一些帮助!
到目前为止,我的函数代码是:
function crewsize(airspace)
for k = 1:4
a = airspace(k);
b = airspace{k,5};
fprintf('Flight Number Crew Size\n %5.1f %5.1f',a,b)
如有任何帮助,我们将不胜感激。同样,对于输出,我试图只打印航班号(第一列)和该机组人员的人数(第五列)
谢谢大家!
您应该使用 %s
和 %i
格式规范(对于字符串和整数)。从字符串中计算船员人数也有一点困难,但您可以使用 strsplit
(在最近的版本中)或 regexp
函数。
实践中:
function crewsize(airspace)
for k = 1:4
a = airspace{k,1};
b = numel(regexp(airspace{k,5}, ' ', 'split'));
fprintf('Flight Number: %s - Crew Size: %i\n',a,b);
end
最佳,
我正在尝试在此处创建一个名为 'crewsize' 的函数,它采用空域元胞数组(元胞数组 'airspace' 将在下面显示),输出将使用 fprintf a table的航班号和机组人数。 空域单元阵列看起来像这样
airspace =
'BF 123' [ 515.2000] [ 90] [154] 'Behnam Jane Jill...' 'Montreal' [22000] [1x2 double]
'VS0 456' [ 99.6000] [270] [ 31] 'Frances, Jake, J...' 'Los Angeles' [21000] [1x2 double]
'BF 8421' [1.5057e+03] [170] [ 0] 'Giuseppe, Susan' 'Calgary' [33000] [1x2 double]
'AB 896' [ 500] [ 90] [132] 'Hao, Ashraf, Sue' 'Montreal' [33000] [1x2 double]
本题可以忽略[1x2双列]。 至于功能,我完全迷路了,不确定如何从我的代码开始,我不明白 fprintf 的概念,真的很想得到一些帮助! 到目前为止,我的函数代码是:
function crewsize(airspace)
for k = 1:4
a = airspace(k);
b = airspace{k,5};
fprintf('Flight Number Crew Size\n %5.1f %5.1f',a,b)
如有任何帮助,我们将不胜感激。同样,对于输出,我试图只打印航班号(第一列)和该机组人员的人数(第五列)
谢谢大家!
您应该使用 %s
和 %i
格式规范(对于字符串和整数)。从字符串中计算船员人数也有一点困难,但您可以使用 strsplit
(在最近的版本中)或 regexp
函数。
实践中:
function crewsize(airspace)
for k = 1:4
a = airspace{k,1};
b = numel(regexp(airspace{k,5}, ' ', 'split'));
fprintf('Flight Number: %s - Crew Size: %i\n',a,b);
end
最佳,