调用 “varargout“ 时,未对一个或多个输出参数赋值。

data1=xlsread('50家供应商.xlsx',1,'B2:IH51');
data2=xlsread('50家供应商.xlsx',2,'B2:IH51');
%for i=1:50
%WEEK(i)=sum(~ismember(data(i,:),0));
%ratio(i,:)=data2(i,:)./data1(i,:);
for i=1:50
    for j=1:240
       ratio2(i,j)=data2(i,j)./data1(i,j);
    end
end
WEEK2=zeros(50,24);
sum_ratio2=zeros(50,24);
for i=1:50
    for j=1:24
        for n=1:10
        WEEK2(i,j)=WEEK2(i,j)+sum(~ismember(data1(i,j*n),0));
        if~isnan(ratio2(i,j*n))
            sum_ratio2(i,j)=sum_ratio2(i,j)+ratio2(i,j*n);
        else
        end
        end
    end
end
aver_ratio2=sum_ratio2./WEEK2;
for i=1:50
    aver_ratio2(i,isnan(aver_ratio2(i,:)))=1e-4;
end
for i=1:50
    for j=1:24
        for n=1:10
            if n==1
                MAX(i,j)=data(i,n*j);
            else
                if data2(i,n*j)>MAX(i,j)
                    MAX(i,j)=data2(i,n*j)
                else
                end
            end
        end
    end
end
for i=1:50
    MAX(i,isnan(MAX(i,:)))=1e-4;
end
MAX=0.9*MAX;
X=zeros(50,24);AA=zeros(24,50);K=zeros(24,1);q=zeros(24,1);
for j=1:24
    f=ones(50,1);
    intcon=50;
    A=MAX(:,j).*aver_ratio2(:,j);
    A=A';
    vol=28200*0.66
    lb=zeros(1,50);
    ub=ones(1,50);
    if j==1
        b=-vol;
        x=intlinprog(f,intcon,-A,b,[],[],lb,ub);
        AA(j,:)=A;
        k=0;
        for i=1:50
            k=k+A(1,i)*x(i,1);
        end;
        K(j,1)=k;
        Q=k+vol;
        q(j,1)=Q;
        X(:,j)=x;
    end
    b=Q-3*vol;
    AA(j,:)=A;
    x=intlinprog(f,intcon,-A,b,[],[],lb,ub);
    k=0;
    for i=1:50
        k=k+A(1,i)*x(i,1);
    end;
    K(j,1)=k;
    Q=k+Q-vol;
    q(j,1)=Q;
    X(:,j)=x;
end
     supplier=max(sum(X));

matlab报错内容:调用 "varargout" 时,未对一个或多个输出参数赋值。

这种问题应该如何解决呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值