例题是2021年大学生建模竞赛C题 本笔记完全借助B站”师翊“的视频 仅供自己学习参考
matlab导入数据后 ,由于导入的是表格(table)所以需要转成数组array后求和,下面想建一个矩阵则需要把table转成元胞数组(cell)
下面是材料分类在一列数据中有三类即A、B、C,找出哪些供应商用的是A类材料,哪些是B类,哪些是C类
代码如下:
ding2=ding(:,2:end);
ding2=table2array(ding2);
result1=sum(ding2,2);
lei=ding(:,1);
lei=table2cell(lei);
A=zeros(146,1);
B=zeros(134,1);
C=zeros(122,1);
countA=1;countB=1;countC=1;
for i=1:402
switch lei{i,1}
case 'A'
A(countA)=i;
countA=countA+1;
case 'B'
B(countB)=i;
countB=countB+1;
case 'C'
C(countC)=i;
countC=countC+1;
end
end
%分别求出企业订购A、B、C类材料各总的订货总量
sumA=sum(ding2(A,:),2); %A类供应商订货总量对应的序号是矩阵A
sumB=sum(ding2(B,:),2);
sumC=sum(ding2(C,:),2);
%求最大供货量
zuimax=max(gong,[],2);
%求缺货率
que=zeros(402,240);
for i=1:402
for j=1:240
if gong(i,j)<ding2(i,j)
que(i,j)=1;
end
end
end
sumcishu=sum(que,2)
quehuo=sum(que,2)/240;