楼主: 2008310148
3646 3

[求助]取出矩阵的下三角 [推广有奖]

  • 0关注
  • 0粉丝

春香毒

大专生

30%

还不是VIP/贵宾

-

威望
0
论坛币
32 个
通用积分
0.0003
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
394 点
帖子
68
精华
0
在线时间
5 小时
注册时间
2009-2-27
最后登录
2012-3-7

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

各位大侠:

       我想取出如下矩阵的下三角元素,就是对角线1以下的数据,我歪打正着的代码完成了任务,没有do循环式我明白input命令加@或@@写入数据的方式和结果,但是现在我不能理解中间的do循环命令是怎么运行出这个结果的,请各位指点。另外请赐教更好的办法。(以下数据存在外部文本文件中)

%macro c(number);
data e;
    infile "c:\0\exercise\co.txt" ;
    %do i=0 %to &number;
      input y&i@; /*如果改成两个@就出不来下三角了*/
   if y&i=1 then output;
 %end;
run;
%mend c;
%c(9);/*这时调用的数量如果小于数据的列数,比如上面输出的是10列数据,现在用小于等于10的数字都行,还是可以出来下三角矩阵,跟一个@有关*/

1 0.0534466777 0.1314492293 0.0509244969 0.0938998967 0.0045149487 0.0060782696 -0.038716537 0.0438832878 -0.048090978
0.0534466777 1 0.0375501908 0.088629979 0.056103275 0.0000918772 0.0750915225 0.140482325 -0.055662144 0.0123267467
0.1314492293 0.0375501908 1 0.2521603917 0.0152870163 -0.02421063 -0.021031116 -0.206481476 -0.001244938 0.0179999469
0.0509244969 0.088629979 0.2521603917 1 -0.071106839 -0.034661846 -0.014004027 -0.095376224 -0.026158074 0.01520412
0.0938998967 0.056103275 0.0152870163 -0.071106839 1 -0.025123804 0.0399335021 0.0742352998 -0.04659544 0.0426528091
0.0045149487 0.0000918772 -0.02421063 -0.034661846 -0.025123804 1 -0.273784637 -0.005511429 0.0039295092 -0.04783078
0.0060782696 0.0750915225 -0.021031116 -0.014004027 0.0399335021 -0.273784637 1 0.1717428277 -0.009636716 -0.049893159
-0.038716537 0.140482325 -0.206481476 -0.095376224 0.0742352998 -0.005511429 0.1717428277 1 -0.056612897 0.0711008745
0.0438832878 -0.055662144 -0.001244938 -0.026158074 -0.04659544 0.0039295092 -0.009636716 -0.056612897 1 -0.026407503
-0.048090978 0.0123267467 0.0179999469 0.01520412 0.0426528091 -0.04783078 -0.049893159 0.0711008745 -0.026407503 1

二维码

扫码加我 拉你入群

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

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

关键词:exercise Number output infile Input 矩阵 三角

已有 1 人评分热心指数 收起 理由
eijuhz + 2 精彩帖子

总评分: 热心指数 + 2   查看全部评分

沙发
雪莲123 发表于 2009-3-27 00:14:00 |只看作者 |坛友微信交流群
这个程序看起来挺简单的呀,一个@符号是位置符号,即固定在某一列的意思。但是两个@@符号是在写数据的时候换行输入的意思,意思是不一样的,所以,你换过来肯定会出问题。

使用道具

藤椅
linhaoran 发表于 2009-3-28 08:12:00 |只看作者 |坛友微信交流群

在前面加一句option mprint;

然后看LOG,你就明白是怎么一回事了。

使用道具

板凳
明天还在丶 发表于 2017-12-30 09:44:00 |只看作者 |坛友微信交流群
为啥我运行不出来啊

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 07:08