楼主: tiandiren2100
5251 4

sas矩阵计算 [推广有奖]

  • 0关注
  • 0粉丝

高中生

15%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
227 点
帖子
21
精华
0
在线时间
27 小时
注册时间
2008-10-27
最后登录
2014-11-3

楼主
tiandiren2100 发表于 2012-4-1 20:41:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我用sas计算出一个行列式的值和matlab和excel计算的值不一样,各位大侠帮解释一下
用sas计算的结果是0, 用execel和matlab计算的结果是-0.1003(大概是这个数,肯定不等于0)
直接用det(cov)计算的结果是0,
我自己写了一个计算行列式的程序计算的结果也是0.程序如下
do i=1 to 6;
do j=i+1 to 6;
  cov[,j]=cov[,j]-cov[i,j]/cov[i,i]*cov[,i];
  end;
  end;
det=cov[1,1]*cov[2,2]*cov[3,3]*cov[4,4]*cov[5,5]*cov[6,6];
  print cov det;
quit;
下面是cov矩阵
                                         cov
                                 COL1         COL2         COL3         COL4         COL5         COL6
                    ROW1    455.06326    -62.93587    435.78672    78.720136    445.33406    -87.36809
                    ROW2    -62.93587    39.397144    -10.07726    46.266692    -38.98252    26.293196
                    ROW3    435.78672    -10.07726    532.52756    181.45362    407.05368    -96.68608
                    ROW4    78.720136    46.266692    181.45362     168.5219    113.79636    59.125268
                    ROW5    445.33406    -38.98252    407.05368    113.79636    554.41088      9.41544
                    ROW6    -87.36809    26.293196    -96.68608    59.125268      9.41544    149.84354

二维码

扫码加我 拉你入群

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

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

关键词:MATLAB execel matla atlab EXCEL 计算 矩阵 matlab 行列式 程序

沙发
bobguy 发表于 2012-4-2 02:53:46
The sas/iml returns 0.0000507 for  the matrix determinant of Cov.  It is the same as that fro MS.





*****MS syntax
Syntax

MDETERM(array)

Array   is a numeric array with an equal number of rows and columns.

**********SAS/IML
  detCov

  0.0000507


proc iml;
cov={
455.06326    -62.93587    435.78672    78.720136    445.33406    -87.36809,
-62.93587    39.397144    -10.07726    46.266692    -38.98252    26.293196,
435.78672    -10.07726    532.52756    181.45362    407.05368    -96.68608,
78.720136    46.266692    181.45362     168.5219    113.79636    59.125268,
445.33406    -38.98252    407.05368    113.79636    554.41088      9.41544,
-87.36809    26.293196    -96.68608    59.125268      9.41544    149.84354
};

detCov=det(cov);

print detCov;
quit;

藤椅
tiandiren2100 发表于 2012-4-2 11:11:22
bobguy 发表于 2012-4-2 02:53
The sas/iml returns 0.0000507 for  the matrix determinant of Cov.  It is the same as that fro MS.
...
谢谢你的帮助啊。 我计算的结果还是0,可能是我传上来的数据只保留到小数点后6位吧, 原数据最大小数点后13位,可能是这个地方出问题了,真心谢了

板凳
chendonghui1987 发表于 2012-4-6 11:31:50
不是很理解呀

报纸
sljzhangbiao11 发表于 2013-2-25 11:11:25
结算结果一样啊!

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

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