注册 登录
编程论坛 Matlab

初学者 合作对策模型运行不出来(大神帮帮我吧)

huangxin618 发布于 2013-10-17 16:37, 512 次点击
第一个函数
function f=shapley(v,n)
x=zeros(1,n);f=x;e=ones(1,n);s=0;t=s;
while 1
    k=1;
    while x(k)==1
        p=feval(v,x);
        if s==1 w=1;
        else
            if s>t w=w*t/(n-t);
            elseif s<t
                    w=w*(n-s)/s;
            end
        end
            f=f+w*x*p;
            if s<n f=f-w*s/(n-s)*(e-x)*p; end
            t=s;
            x(k)=0;s=t-1;
            if k==n f=f/n;return; end
            k=k+1;
    end
        x(k)=1;s=t+1;
end

第二个函数
function v=eigen(x)
s=sum(x);
if s==0 v=0;return;end
if s==1 v=1;return;end
if x=[1,1,0] v=7;return;end
if x=[1,0,1] v=5;return;end
if x=[0,1,1] v=4;return;end
if s==3 v=10;end

运行结果
F=shapley(@eigen1,3)
??? Error: File: d:\MATLAB7\work\eigen1.m Line: 5 Column: 5
The expression to the left of the equals sign is not a valid target for an assignment.

Error in ==> shapley at 6
        p=feval(v,x);
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
1 回复
#2
huangxin6182013-10-18 21:08
已解决,低级错误
应该是三个赋值语句
x==[1,1,0]
1