声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 966|回复: 4

[编程技巧] MATLAB m文件错误求教

[复制链接]
发表于 2009-5-13 10:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function [beta,J_bar] = NR_logistic(data,beta_start)
x=data(:1);
y=data(:2);
n=length(x)
a=1; b=1;beta = beta_start; % initial values
while a>0.0001|b>0.01 % convergence criterion
beta_old = beta;
p = exp(beta(1)+beta(2)*x)./(1+exp(beta(1)+beta(2)*x));
l = sum(y.*log(p)+(1-y).*log(1-p))
s = [sum(y-p); % scoring function
sum((y-p).*x)];
J_bar = [sum(p.*(1-p)) sum(p.*(1-p).*x); % information matrix
sum(p.*(1-p).*x) sum(p.*(1-p).*x.*x)]
beta = beta_old -inv(J_bar)*s % new value of beta
a =mean(sprt(sum((beta-beta_old)^2))); % sum of absolute differences
b=(beta-beta_old)./beta_old;
end
运行出错:?? Error: File: D:\MATLAB7.0\work\NR_logistic.m Line: 2 Column: 9
Missing MATLAB operator.
回复
分享到:

使用道具 举报

发表于 2009-5-13 11:43 | 显示全部楼层
x=data(:1);是多1或少个','?
x=data(:);或x=data(:,1);
 楼主| 发表于 2009-5-13 11:57 | 显示全部楼层

回复 沙发 ChaChing 的帖子

哦,这个问题解决了,但是又有这样的错误:
? Error: File: D:\MATLAB7.0\work\NR_logistic.m Line: 14 Column: 21
Missing variable or function.
发表于 2009-5-13 14:45 | 显示全部楼层
beta = beta_old -inv(J_bar)?
change to
beta = beta_old -inv(J_bar)
发表于 2009-5-13 14:57 | 显示全部楼层
输入法问题导致出错
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 05:45 , Processed in 0.059058 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表