QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2129|回复: 7
打印 上一主题 下一主题

谁能解答我就嫁给他

[复制链接]
字体大小: 正常 放大

1

主题

3

听众

45

积分

升级  42.11%

  • TA的每日心情
    郁闷
    2012-9-9 07:54
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    群组学术交流A

    跳转到指定楼层
    1#
    发表于 2012-9-9 07:52 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    在matlab编程中总是出现下面的错误:
    Warning: Matrix is close to singular or badly scaled.
             Results may be inaccurate. RCOND = 1.020463e-018.
    意思是出现奇异矩阵了,简单讲就是类似于除以0的感觉
    上述问题是在使用inv()函数时,出现的问题。
    于是,我换了一种方式,先在在原矩阵后面加上eye(),再使用rref()这个函数,但是达不到要求,不知为何?

    请求哪位高人,谢谢!!!以下是程序
    clc,clear
    load HPTLH.txt;
    n=size(HPTLH,1);
    m=size(HPTLH,2);
    x=HPTLH(:,:); %读取HPTLH性质指标%
    x=zscore(x);%对x进行标准化处理%
    r=corrcoef(x);%求相关系数矩阵%
    [vec1,val,con1]=pcacov(r)%主成分分析%
    f1=repmat(sign(sum(vec1)),size(vec1,1),1);
    vec2=vec1.*f1; %特征向量正负号转化%
    f2=repmat(sqrt(val)',size(vec2,1),1);
    a=vec2.*f2 %荷载系数矩阵%
    num=input('请选择主因子的个数:');
    am=a(:,[1:num]);
    [bm,t]=rotatefactors(am,'method', 'varimax')%am旋转变换,bm为旋转后的载荷阵
    bt=[bm,a(:,[num+1:end])];  %旋转后全部因子的载荷矩阵,前两个旋转,后面不旋转
    con2=sum(bt.^2) %%计算因子贡献
    check=[con1,con2'/sum(con2)*100]%该语句是领会旋转意义,con1是未旋转前的贡献率
    rate=con2(1:num)/sum(con2) %计算因子贡献率
    coef=inv(r)*bm          %计算得分函数的系数
    score=x*coef           %计算各个因子的得分
    weight=rate/sum(rate)  %计算得分的权重
    Tscore=score*weight'   %对各因子的得分进行加权求和,即求各位选手的综合得分
    [STscore,ind]=sort(Tscore,'descend')      %对各位选手进行排序
    display=[score(ind,:)';STscore';ind'] %显示排序结果
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    4

    主题

    6

    听众

    1927

    积分

  • TA的每日心情
    开心
    2015-6-27 16:10
  • 签到天数: 498 天

    [LV.9]以坛为家II

    社区QQ达人

    群组2013认证赛A题讨论群组

    群组小草的客厅

    群组2014年网络挑战赛交流

    回复

    使用道具 举报

    4

    主题

    6

    听众

    1927

    积分

  • TA的每日心情
    开心
    2015-6-27 16:10
  • 签到天数: 498 天

    [LV.9]以坛为家II

    社区QQ达人

    群组2013认证赛A题讨论群组

    群组小草的客厅

    群组2014年网络挑战赛交流

    回复

    使用道具 举报

    吴建宏 实名认证       

    22

    主题

    6

    听众

    807

    积分

    该用户从未签到

    新人进步奖

    群组Matlab讨论组

    群组第二届数模基础实训

    群组数学建模培训课堂1

    群组MATLAB与数模算法实训

    群组学术交流A

    楼主这个是奇异矩阵,其中这个矩阵的条件数太小了。所以就类似于分母为0.会报错。解决的办法是:设置条件或者判断,分离开,当这个矩阵行列式为0时候,单独进行处理,看对你结果是否有影响;当不为0的时候,进行inv运算。
    已有 1 人评分体力 收起 理由
    大笨象 + 5 很给力!

    总评分: 体力 + 5   查看全部评分

    回复

    使用道具 举报

    吴建宏 实名认证       

    22

    主题

    6

    听众

    807

    积分

    该用户从未签到

    新人进步奖

    群组Matlab讨论组

    群组第二届数模基础实训

    群组数学建模培训课堂1

    群组MATLAB与数模算法实训

    群组学术交流A

    回复

    使用道具 举报

    hbdkfk2        

    0

    主题

    7

    听众

    689

    积分

    升级  22.25%

  • TA的每日心情
    开心
    2018-1-3 13:36
  • 签到天数: 124 天

    [LV.7]常住居民III

    自我介绍
    哈哈

    群组学术交流A

    群组学术交流B

    群组第二届数模基础实训

    群组A题讨论群

    回复

    使用道具 举报

    大笨象 实名认证       

    42

    主题

    11

    听众

    2119

    积分

    di_dar

  • TA的每日心情
    无聊
    2015-1-15 22:05
  • 签到天数: 79 天

    [LV.6]常住居民II

    自我介绍
    隐秘盛开

    优秀斑竹奖 新人进步奖 发帖功臣

    群组Matlab讨论组

    群组数学趣味、游戏、IQ等

    群组数学建模

    群组SIMULINK

    群组LINGO

    吴建宏 发表于 2012-9-9 09:43
    楼主这个是奇异矩阵,其中这个矩阵的条件数太小了。所以就类似于分母为0.会报错。解决的办法是:设置条件或 ...

    说的有道理。
    回复

    使用道具 举报

    大笨象 实名认证       

    42

    主题

    11

    听众

    2119

    积分

    di_dar

  • TA的每日心情
    无聊
    2015-1-15 22:05
  • 签到天数: 79 天

    [LV.6]常住居民II

    自我介绍
    隐秘盛开

    优秀斑竹奖 新人进步奖 发帖功臣

    群组Matlab讨论组

    群组数学趣味、游戏、IQ等

    群组数学建模

    群组SIMULINK

    群组LINGO

    吴建宏 发表于 2012-9-9 09:51
    对了,还有一个更简单的方法,eps

    也是个好方法,用一个小量,免得出现零的情况。
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-26 11:36 , Processed in 1.108102 second(s), 94 queries .

    回顶部