楼主: mengqinqing
6314 15

[问答] 求助:用R怎么产生Hadamard矩阵,有c语言程序,改编 [推广有奖]

  • 8关注
  • 6粉丝

讲师

94%

还不是VIP/贵宾

-

威望
0
论坛币
64351 个
通用积分
8.1717
学术水平
7 点
热心指数
5 点
信用等级
4 点
经验
21974 点
帖子
468
精华
0
在线时间
645 小时
注册时间
2007-11-24
最后登录
2024-3-8
毕业学校
中山大学

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
Hadamard Matrix在matlab里面可以用函数hadamard(n)实现,可是我的程序是在R编的,希望可以用R来实现。
本人水平太低,搞了很久都没有弄出来,希望各位大虾帮忙看看。
我有一个c语言的程序是这么编的:
/* 产生Hadamard矩阵(hmat)*/
  for (u = 0;u < N; u++)
    for (v = 0;v < N;v++)
      {        
cnt = 0;
for (uv=u&v; uv ; uv >>= 1 ) {
   cnt += uv & 1;
}
        *(hmat+(N*u)+v) = ((cnt & 1) ? -1 : 1);
      }
/***** 将Hadamard矩阵转换成顺序形式sequency order ******/
/* ncount - vector of number of zero crossings in each row of hmat*/
  for (i = 0;i < (N-1);i++)
    for (j = 0;j < N;j++)
      if (*(hmat+i+(j*N)) != (*(hmat+(i+1)+(j*N)))) ncount[j] += 1;


二维码

扫码加我 拉你入群

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

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

关键词:c语言程序 Adam Had dam C语言 矩阵 Matrix matlab c语言

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
epoh + 1 + 1 + 1 鼓励积极发帖讨论

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

用自己的力量站在自己的位置
沙发
qoiqpwqr 发表于 2012-4-12 09:51:42 |只看作者 |坛友微信交流群
survey包里有个hadamard函数,不知道是不是你想要的。

使用道具

藤椅
mengqinqing 发表于 2012-4-12 10:52:38 |只看作者 |坛友微信交流群
qoiqpwqr 发表于 2012-4-12 09:51
survey包里有个hadamard函数,不知道是不是你想要的。
太感谢了,有希望!!本来想去下载那个包,可是r-project一直打不开,也不知道是怎么了。。。
用自己的力量站在自己的位置

使用道具

板凳
mengqinqing 发表于 2012-4-12 14:53:42 |只看作者 |坛友微信交流群
qoiqpwqr 发表于 2012-4-12 09:51
survey包里有个hadamard函数,不知道是不是你想要的。
请问您是在哪里找到这个函数的,我安装了程序包servey但是调用这个函数说没有哦。
用自己的力量站在自己的位置

使用道具

报纸
ywh19860616 发表于 2012-4-12 15:05:56 |只看作者 |坛友微信交流群
mengqinqing 发表于 2012-4-12 14:53
请问您是在哪里找到这个函数的,我安装了程序包servey但是调用这个函数说没有哦。
install.packages("survey")
library(survey)

help(hadamard)



Hadamard matrices
Description
Returns a Hadamard matrix of dimension larger than the argument.
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
epoh + 1 + 1 + 1 热心帮助其他会员

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

一份耕耘,一份收获。

使用道具

地板
mengqinqing 发表于 2012-4-13 10:44:54 |只看作者 |坛友微信交流群
ywh19860616 发表于 2012-4-12 15:05
install.packages("survey")
library(survey)
找到了,的确是我要的。非常感谢!
用自己的力量站在自己的位置

使用道具

7
mengqinqing 发表于 2012-4-16 11:43:45 |只看作者 |坛友微信交流群
ywh19860616 发表于 2012-4-12 15:05
install.packages("survey")
library(survey)
R的hadamard矩阵好奇怪,我认为hadamard(8)就会输出一个8阶矩阵,结果输出了一个12阶矩阵。不知道您知不知这是怎么回事?
用自己的力量站在自己的位置

使用道具

8
ywh19860616 发表于 2012-4-16 11:55:59 |只看作者 |坛友微信交流群
不知道这个矩阵的具体构造,按照命令提示是说:
Returns a Hadamard matrix of dimension larger than the argument.



你看下这个pdf文档:http://designtheory.org/library/encyc/topics/had.pdf
一份耕耘,一份收获。

使用道具

9
mengqinqing 发表于 2012-4-16 12:14:22 |只看作者 |坛友微信交流群
ywh19860616 发表于 2012-4-16 11:55
不知道这个矩阵的具体构造,按照命令提示是说:
Returns a Hadamard matrix of dimension larger than the ...
好的,谢谢!
用自己的力量站在自己的位置

使用道具

10
epoh 发表于 2012-4-16 15:09:48 |只看作者 |坛友微信交流群
mengqinqing 发表于 2012-4-16 11:43
R的hadamard矩阵好奇怪,我认为hadamard(8)就会输出一个8阶矩阵,结果输出了一个12阶矩阵。不知道您知不知 ...
%H=hadamard(n),  H'*H = N*EYE(N).

%%%%in Matlab
n=8;
hadamard(n)

ans =

     1     1     1     1     1     1     1     1
     1    -1     1    -1     1    -1     1    -1
     1     1    -1    -1     1     1    -1    -1
     1    -1    -1     1     1    -1    -1     1
     1     1     1     1    -1    -1    -1    -1
     1    -1     1    -1    -1     1    -1     1
     1     1    -1    -1    -1    -1     1     1
     1    -1    -1     1    -1     1     1    -1


#####in R
library(survey)
n=8
2*hadamard(n-4)-1

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,]    1    1    1    1    1    1    1    1
[2,]    1   -1    1   -1    1   -1    1   -1
[3,]    1    1   -1   -1    1    1   -1   -1
[4,]    1   -1   -1    1    1   -1   -1    1
[5,]    1    1    1    1   -1   -1   -1   -1
[6,]    1   -1    1   -1   -1    1   -1    1
[7,]    1    1   -1   -1   -1   -1    1    1
[8,]    1   -1   -1    1   -1    1    1   -1
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
kk22boy + 5 + 5 + 5 观点有启发
ywh19860616 + 1 + 1 + 1 学习了

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

使用道具

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

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

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

GMT+8, 2024-4-27 04:22