我正在尝试创建一个酒吧,我希望将每个产品的收入和生产成本分组。我从电子表格中获取数据,然后在matlab中处理它们。
你可以看到我到目前为止所尝试的内容:
sP = cell2mat(Models(2:size(Models),4))
spy = cell2mat(Sales(2:size(Sales),2))
for i1 = 1:length(spy)
car(i1) = spy(i1).* sP(i1);
sumSold = (car);
end
base = 13000
pCost = cell2mat(Models(2:size(Models),3))
production = cell2mat(Production(2:size(Production),2))
for i1 = 1:length(pCost)
car(i1) = (base+pCost(i1)).* production(i1);
sumProductionCost = (car);
end
y = [sumSold; sumProductionCost]
我对y的预期结果是这样的:
1 2
1 2
1 2
1 2
etc..
相反,我得到了这个:
1.0e+10 *
0.3693 1.1881 3.2839 2.7604 1.6344 1.2941 2.4883 0.7949
0.3466 1.1025 3.0750 2.6163 1.5572 1.2001 2.3405 0.7481
如果我尝试在条形图中绘制它,我会在两个x轴点上分布8个分组条。
我希望得到相反的结果;有2个分组的条,分布在8 x轴点上。我对此很陌生。谁能发现我做错了什么?
答案 0 :(得分:1)
我不确定您的实际数据,因为我不清楚您对sumSold = (car)
的意图。但是sumSold
和sumProductionCost
都是1 x 8
,所以当你将它们合并到y
时:
[sumSold; sumProductionCost];
;
沿第一维连接它们,产生2 x 8
数组。
默认情况下,bar
将输入的每个列绘制为一个组。您需要转置输入,使其为8 x 2
,然后您将获得两组8个小节。
bar(y.')