楼主: yonny
1055 7

[问答] 小白 matlab 求助 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

硕士生

53%

还不是VIP/贵宾

-

威望
0
论坛币
116 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3745 点
帖子
131
精华
0
在线时间
210 小时
注册时间
2010-9-8
最后登录
2014-8-14

楼主
yonny 在职认证  发表于 2013-10-28 18:32:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
刚刚学matlab,想做一个蒙特卡洛的模拟,但是每次运行时都会出现Undefined function 'ols' for input arguments of type 'double',不知道原因也不知道解决办法,快疯了,求各位大神指导,万分感谢。因为要用matlab做其它作业,所以比较急。
程序如下:
nobs = 1000; nvar = 2; ntrials = 10000;
beta = ones(nvar,1);
x = [ones(nobs,1) randn(nobs,nvar-1)];
bout = zeros(ntrials,nvar);
for i=1:ntrials;
     evec = randn(nobs,1);
     y = x*beta + evec;
     out=ols(y,x); bout(i,:)=out.beta';
end
bmean = mean(bout); bstd = std(bout); % find mean and std of bhats
fprintf(1,'Mean of the bhats \n');
for i=1:nvar; fprintf(1,'%8.4f \n',bmean(1,i)); end;
fprintf(1,'Std deviation of the bhats \n');
for i=1:nvar; fprintf(1,'%8.4f \n',bstd(1,i)); end;
hist(bout); ylabel('frequency of parameter outcomes');
xlabel('Estimated parameter values');
第八行的out=ols(y,x),到这里就运行不下去了
legend('\alpha','\beta_1')


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Atl Lab matlab

沙发
Xaero 发表于 2013-10-28 19:55:16
因为你没有ols.m 这个文件。 可以用regress()函数替代。
out=ols(y,x); bout(i,:)=out.beta';

替换为
out=regress(y,x); bout(i,:)=out
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

藤椅
yonny 在职认证  发表于 2013-10-28 20:00:40
Xaero 发表于 2013-10-28 19:55
因为你没有ols.m 这个文件。 可以用regress()函数替代。
out=ols(y,x); bout(i,:)=out.beta';
但是我用
which ols()能够看得见这个有m文件在路径里啊,怎么回事??

板凳
yonny 在职认证  发表于 2013-10-28 20:04:33
Xaero 发表于 2013-10-28 19:55
因为你没有ols.m 这个文件。 可以用regress()函数替代。
out=ols(y,x); bout(i,:)=out.beta';
而且替换以后还是不行,显示
Attempt to reference field of non-structure array.

Error in tutorial (line 8)
out=regress(y,x); bout(i,:)=out.beta';
????

报纸
Xaero 发表于 2013-10-28 20:13:11
bout(i,:)=out
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

地板
yonny 在职认证  发表于 2013-10-28 20:24:12
Xaero 发表于 2013-10-28 20:13
bout(i,:)=out
我把bout(i,:)=out*beta改为bout=out*beta就行了,另外ols()换成regress(),谢谢大神。但是不懂不换ols()为什么也运行不了,ols()这个函数有M文件呀

7
Xaero 发表于 2013-10-28 22:44:11
hehe 。 你把 ols.m 贴上来看看。 估计是那个文件里面的内容不对。
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

8
yonny 在职认证  发表于 2013-10-30 23:24:23
Xaero 发表于 2013-10-28 22:44
hehe 。 你把 ols.m 贴上来看看。 估计是那个文件里面的内容不对。
已经解决了,thanks any way

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-6 18:42