楼主: 一诺9257
1464 9

[问答] 怎样产生一组矩阵 [推广有奖]

  • 10关注
  • 7粉丝

教授

66%

还不是VIP/贵宾

-

威望
0
论坛币
22 个
通用积分
2.9200
学术水平
28 点
热心指数
34 点
信用等级
17 点
经验
310 点
帖子
952
精华
0
在线时间
1321 小时
注册时间
2010-3-21
最后登录
2020-2-22

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
怎样产生一组矩阵使得每个元素是\[0.5^{|i-j|}\]我的程序是:
  p=10
  rho=0.5
  a=NULL
  i=1
  for(j1 in 2:(p+1)){
    for (j2 in 2:(p+1)){
      a=rho^(abs(j1-j2))
      i=i+1
    }
  }
a


这个当p=1000时程序太慢了,请教大神!
二维码

扫码加我 拉你入群

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

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

关键词:LaTeX atex Late null For 程序 元素

本帖被以下文库推荐

沙发
yywan0913 在职认证  发表于 2014-12-23 15:56:27 |只看作者 |坛友微信交流群
  1. p=10
  2. 0.5^abs(outer(1:p,1:p,"-"))
复制代码
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
一诺9257 + 1 + 1 + 1 + 1 精彩帖子
李会超 + 40 + 20 分析的有道理

总评分: 经验 + 40  论坛币 + 21  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
ljchuan1988 发表于 2014-12-23 16:04:18 |只看作者 |坛友微信交流群
首先,你先生成一个向量[LaTex]a=[1 0.5 0.5^2 ... 0.5^(p-1)] [/LaTex],则你矩阵的(i,j)元素就是a(abs(i-j)+1),这样可以减少大量的乘法运算,进行赋值就行啦
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 热心帮助其他会员
一诺9257 + 2 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 22  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

板凳
一诺9257 发表于 2014-12-23 16:23:15 |只看作者 |坛友微信交流群
ljchuan1988 发表于 2014-12-23 16:04
首先,你先生成一个向量,则你矩阵的(i,j)元素就是a(abs(i-j)+1),这样可以减少大量的乘法运算,进行赋值就行 ...
这种方法似乎不行!谢谢!

使用道具

报纸
一诺9257 发表于 2014-12-23 16:24:08 |只看作者 |坛友微信交流群
ljchuan1988 发表于 2014-12-23 16:04
首先,你先生成一个向量,则你矩阵的(i,j)元素就是a(abs(i-j)+1),这样可以减少大量的乘法运算,进行赋值就行 ...
这种方法似乎不行!谢谢!

使用道具

地板
李会超 发表于 2014-12-23 16:56:40 |只看作者 |坛友微信交流群
a<-matrix(0,1000,1000)

for(i in 1:1000){
    for(j in 1:1000){
    a[i,j]<-0.5^abs(i-j)
   }
}
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
一诺9257 + 2 + 1 + 1 + 1 速度太慢了!哈哈,谢谢

总评分: 论坛币 + 2  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

7
jiangbeilu 学生认证  发表于 2014-12-23 17:08:02 |只看作者 |坛友微信交流群
yywan0913 发表于 2014-12-23 15:56
这个很快啊,p=1000的时候,我已经试过了。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
一诺9257 + 1 + 1 + 2 + 1 谢谢!

总评分: 论坛币 + 1  学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

使用道具

8
李会超 发表于 2014-12-23 17:19:40 |只看作者 |坛友微信交流群
b<-matrix(rep(1:1000,1000),1000)
e<-t(b)
a<-0.5^(abs(b-e))
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
一诺9257 + 1 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

9
ljchuan1988 发表于 2015-1-9 10:22:46 |只看作者 |坛友微信交流群
一诺9257 发表于 2014-12-23 16:24
这种方法似乎不行!谢谢!
其实是可以的,你要仔细想想,理解运算费时的原因,这种肯定非常快的

使用道具

10
一诺9257 发表于 2015-1-10 13:25:46 |只看作者 |坛友微信交流群
ljchuan1988 发表于 2015-1-9 10:22
其实是可以的,你要仔细想想,理解运算费时的原因,这种肯定非常快的
谢谢!哈哈

使用道具

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

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

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

GMT+8, 2024-4-28 15:28