24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1406  |  回复: 0

TNT19053

新虫 (初入文坛)

[求助] 一个关于MATLAB函数调用的帮组

我现在在要用 reglm 函数做回归分析,貌似MATLAB中无这个函数,我自己写了一个函数m文件,如下:
function stats=reglm(y,X,model,varnames)
if nargin<2
    error('至少需要两个输入参数');
end
p=size(x,2);
if nargin<3 || isempty(model)
    model='linear';
end
if nargin<4 || isempty(varnames)
    varname1=strcat({'x'},num2str([1:p]'));
    varnames=makevarnames(varname1,model);
else
    if ischar(varnames)
        varname1=cellstr(varnames);
    elseif iscell(varnames)
        varname1=varnames(;
    else
        error('varnames 必须是字符矩阵或字符串元胞数组');
    end
    if size(varname1,1)~=p
        error('变量标签与x的列数不一致');
    else
        varnames=makevarnames(varname1,model);
    end
end
ST=regstats(y,X,model);
f=ST.fstat;
t=ST.tstat;
fprintf('\n');
fprintf('----------方差分析表----------');
fprintf('\n');
fprintf('% s % 7s % 15s % 15s % 15s % 12s','方差来源','自由度','平方和','均方','F值','P值');
fprintf('\n');
fmt='% s % 13.4f % 17.4f % 17.4f % 16.4f % 12.4f';
fprintf(fmt,'回归',f.dfr,f.ssr,f.ssr/f.dfr,f.f,f.pval);
fprintf('\n');
fmt='% s % 13.4f % 17.4f % 17.4f';
fprintf(fmt,'残差',f.dfe,f.sse,f.sse/f.dfe);
fprintf('\n');
fmt='% s % 13.4f % 17.4f';
fprintf(fmt,'总计',f.dfe+f.dfr,f.sse+f.ssr);
fprintf('\n');
fprintf('\n');
fmt='% 22s % 15.4f % 25s % 10.4f';
fprintf(fmt,'均方根误差(Root MSE)',sqrt(ST.mse),'判定系数(R-Square)',ST.rsquare);
fprintf('\n');
fprintf(fmt,'因变量均值(Dpendent Mean)',mean(y),'调整的判定系数(Adj R-Sq)',...
    ST.adjrsquare);
fprintf('\n');
fprintf('\n');
fprintf('--------参数估计--------');
fprintf('\n');
fprintf('% 8s % 18s % 15s % 15s % 12s','变量','估计值','标准误差','t值','p值');
fprintf('\n');
for i=1:size(t.beta,1)
    if i==1
        fmt ='% 8s % 20.4f % 17.4f % 17.4f % 12.4f\n';
        fprintf(fmt,'常数项',t.beta(i),t.se(i),t.t(i),t.pval(i));
    else
        fmt='% 10s % 20.4f % 17.4f % 17.4f % 12.4f\n';
        fprintf(fmt,varnames{i-1},t.beta(i),t.se(i),t.t(i),t.pval(i));
    end
end
if nargout==1
    stats=ST;
end
function varnames=makevarnames(varname1,model)
p=size(varname1,1);
varname2=[];
for i=1:p-1
    varname2=[varname2;strcat(varname1(i),'*',varname1(i+1:end))];
end
varname3=strcat(varname1,'*',varname1);
switch model
    case 'linear'
        varnames=varname1;
    case 'interaction'
        varnames=[varname1;varname2];
    case 'quadratic'
        varnames=[varnames1;varnames2;varnames3];
    case 'purequadratic'
        varnames=[varname1;varname3];
end

进行了保存,做回归的函数是:
将excel中数据导入,将名字改为ab
然后在命令窗口输入命令:
>> clear
>> X=ab(:,1);
>> y=ab(:,5);
>> varname='x';
>> reglm(y,X,[],varname)
回车后提示:Undefined function 'reglm' for input arguments of type 'double'.
这是怎么回事呀?怎么解决?
麻烦高手教我,谢谢!

excel中的数据如下:
城市               年平均气温/(℃)        年极端最高气温/(℃)        年极端最低气温/(℃)        年均相对湿度/(%)        全年日照时长/(h)        全年降水/mm
北    京        14                         37.3                       -11.7                                  54                                   2351.1                           483.9
天    津        13.6                        38.5                          -10.6                          61                                   2165.4                           389.7
石 家 庄        14.9        39.7        -7.4               59        2167.7        430.4
太    原        11.4        35.8        -13.2        55        2174.6        535.4
呼和浩特        9        35.6        -17.6        47        2647.8        261.2
沈    阳        9        33.9        -23.1        68        2360.9        672.3
长    春        7.7        35.8        -21.7        58        2533.6        534.2
哈 尔 滨        6.6        35.8        -22.6        58        2359.2        444.1
上    海        18.5        39.6        -1.1                73        1522.2        1254.5
南    京        17.4        38.2        -4.5               70        1680.3        1070.9
杭    州        18.4        39.5        -1.9                71        1472.9        1378.5
合    肥        17.4        37.2        -3.5               79        1814.6        929.7
福    州        21        39.8        3.6               68        1543.8        1109.6
南    昌        19.2        38.5        0.5               68        2102        1118.5
济    南        15        38.5        -7.9               61        1819.8        797.1
郑    州        16        39.7        -5               60        1747.2        596.4
武    汉        18.6        37.2        -1.5               67        1934.2        1023.2
长    沙        18.8        38.8        -0.5               70        1742.2        9364
广    州        23.2        37.4        5.7               71        1616        1370.3
南    宁        21.7        37.7        0.7               76        1614        1008.1
海    口        24.1        37.9        10.7               80        1669.1        1419.3
重    庆        19        37.9        3               81        856.2        1439.2
成    都        16.8        34.9        -1.6               77        935.6        624.5
贵    阳        14.9        31        -1.7               75        1014.8        884.9
昆    明        15.6        30        0.7           72        2038.6        932.7
拉    萨        9.8        29        -9.8               34        3181        477.3
西    安        15.6        39.8        -5.9            58        1893.6        698.5
兰    州        11.1        34.3        -11.9        53        2214.1        407.9
西    宁        6.1        30.7        -21.8        57        2364.7        523.1
银    川        10.4        35        -15.4        52        2529.8        214.7
乌鲁木齐        8.5        37.6        -24           56        2853.4        419.5一个关于MATLAB函数调用的帮组
YO47)~9PV2Y8Z82$X]B~MWF.jpg


一个关于MATLAB函数调用的帮组-1
IMG_20151012_123328.jpg

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : examp08_01.xls.xlsx
  • 2015-10-12 12:39:23, 10.76 K
  • 附件 2 : examp08_01.xls.xlsx
  • 2015-10-12 12:39:49, 10.76 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 TNT19053 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 河北省自然科学基金 +5 Peterchao 2026-05-18 7/350 2026-05-23 16:57 by articlefan
[基金申请] 揭秘青基评审内幕:几个A才能顺利中标 +3 国自然国社科中 2026-05-23 4/200 2026-05-23 15:37 by 2000zf36392
[论文投稿] 投MDPI的三个期刊都被桌拒 +4 木虫研究牲 2026-05-17 5/250 2026-05-23 14:44 by 期刊投稿求助
[考博] 26/27申博自荐 10+4 ZXW0202 2026-05-22 6/300 2026-05-23 14:32 by tfang
[基金申请] 青B发送上会通知了吗 +5 chemBioBro 2026-05-22 7/350 2026-05-23 12:35 by zhuifengzhy
[考博] 博士申请 +3 焦晓明 2026-05-21 3/150 2026-05-23 11:26 by mlc840311
[教师之家] 某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路! +3 zju2000 2026-05-21 4/200 2026-05-23 08:33 by xli1984
[基金申请] 今年审到国自然15份,谈谈感受 +27 国自然国社科中 2026-05-17 28/1400 2026-05-22 16:25 by hunter无悔
[论文投稿] 投稿求助,期刊 +4 希冀,有书读 2026-05-20 8/400 2026-05-22 10:16 by 希冀,有书读
[文学芳草园] 献血感触 +7 呀呀好傻 2026-05-19 13/650 2026-05-21 20:15 by 呀呀好傻
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +14 1234567wang 2026-05-17 16/800 2026-05-21 17:58 by 脆脆的饼干
[基金申请] 国自然评分 +4 无名者登山 2026-05-20 5/250 2026-05-21 16:35 by swuq
[基金申请] 国自然上会要求 +7 无名者登山 2026-05-18 11/550 2026-05-21 15:50 by draco1987
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[基金申请] 评审有感 +15 popular289 2026-05-18 26/1300 2026-05-21 10:35 by 西葫芦炒鸡蛋
[考博] 云南大学材料与能源学院解琳课题组钙钛矿博士招生 +4 光伏爱好者 2026-05-17 6/300 2026-05-21 01:37 by 17520222914
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 8/400 2026-05-20 22:19 by Equinoxhua
[考博] 如果工作了想读博,可以边工作边读全日制嘛? 30+3 铁达火车 2026-05-18 5/250 2026-05-20 09:33 by tfang
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
信息提示
请填处理意见