logit回归 matlab,用matlab求解logit模型的问题,

本帖最后由 xiaoyuxuanlc 于 2014-8-4 22:34 编辑

function yy=myfun(beta,x)

a=beta(1);

b=beta(2);

c=beta(3);

d=beta(4);

x1=x(:,1);

x2=x(:,2);

x3=x(:,3);

x4=x(:,4);

x5=x(:,5);

yy=exp(beta(1)+beta(2).*x1+beta(3).*x3+beta(4).*x5)./(exp(beta(1)+beta(2).*x1+beta(3).*x3+beta(4).*x5)+exp(beta(2).*x2+beta(3).*x4));

.......................................................................................................................................

P=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];

T1=[45 30 50 35 15 25 45 30 25 40 38 20 50 42 45 20 45 40 42 25 20 50 40 45 35 30 30 15 35 40 20 25 35 30 25 20 50 45 40 35 40 25 20 50 35 40 25 20 15 30 20 35 40 45 35 25 20 50 35 40 35 25 33 50 36 40 25 40 25 28 30 35 32 18 40 40 25 28 42 38 27 30 45 35 20 40 35 20 35 30 25 30 40 50 35 25 20 30 45 30 35];

T2=[40 30 60 30 30 20 40 25 35 30 35 35 45 55 40 20 40 35 55 20 15 45 35 42 40 45 50 30 50 45 35 20 30 45 40 30 60 50 55 40 45 40 30 60 30 50 20 25 25 40 25 40 50 50 55 30 35 60 45 50 50 30 45 65 40 55 40 45 45 35 45 50 55 30 45 30 20 20 30 25 15 25 30 20 15 30 25 15 20 20 15 20 25 30 20 15 10 20 25 15 20];

F1=[24 16 20 12 18 16 8 8 18 8 20 15 20 25 16 8 32 20 12 24 8 15 18 12 36 16 24 20 16 20 16 24 16 20 24 30 28 8 24 18 20 16 30 22 28 26 36 18 36 20 24 18 32 36 24 34 30 24 8 18 12 24 20 16 28 30 26 14 12 18 26 24 10 12 14 28 34 36 28 30 28 32 38 30 36 34 36 30 28 26 34 24 36 24 22 30 36 35 28 26 36];

F2=[36 48 60 36 56 84 48 36 30 36 48 28 48 30 36 36 36 48 76 40 64 48 48 36 42 32 35 32 36 32 36 38 30 32 44 64 56 32 40 32 48 32 44 36 56 44 48 44 60 52 60 48 52 60 56 64 60 60 36 44 56 48 60 40 60 64 60 36 32 44 52 52 36 32 36 56 48 64 44 32 36 40 56 52 60 56 60 52 52 48 56 32 60 32 48 64 64 40 44 48 48];

Q=[5 15 10 2 5 10 15 5 5 10 5 5 5 10 2 5 2 2 5 5 10 10 5 2 5 2 2 5 5 5 5 1 1 5 5 3 10 5 15 10 3 5 5 5 10 10 5 5 5 10 5 5 5 5 5 7 2 3 5 5 3 5 2 1 1 3 2 5 2 7 5 3 10 5 8 5 10 15 10 5 15 2 10 15 15 3 2 5 5 2 10 15 2 3 10 15 3 5 10 10 5];

p=P';

t1=T1';

t2=T2';

f1=F1';

f2=F2';

q=Q';

x=[t1,t2,f1,f2,q];

>> y=p;

>> beta0=[1,1,1,1]'

;>> x1=t1;

>> x2=t2;

>> x3=f1;

>> x4=f2

;>> x5=q;

>> [beta,r,j]=nlinfit(x,y,@myfun,beta0);

Error using nlinfit (line 204)Error evaluating model function 'myfun'.

Caused by:    Undefined function or variable 'y'.

真的不知道问题出在哪,希望大神帮忙看一下,拜谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值