我试图在这里创建一个名为“crewsize'采用空域单元阵列(单元阵列'空域'将在下面显示),输出将使用fprintf打印一张飞行编号表和机组人员数。 空域单元阵列看起来像这样
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)
对此的任何帮助将不胜感激。同样,对于输出我试图仅打印航班号(第1列)和该机组人员数(第5列)
谢谢大家!
答案 0 :(得分:1)
您应该使用%s
和%i
formatSpecs(用于字符串和整数)。计算字符串中的机组成员数量也有一些困难,但您可以使用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
最佳,