楼主: 子衿1219
2422 18

[问答] 关于矩阵的运算 [推广有奖]

  • 1关注
  • 4粉丝

讲师

70%

还不是VIP/贵宾

-

威望
0
论坛币
60 个
通用积分
1.0023
学术水平
2 点
热心指数
0 点
信用等级
1 点
经验
13521 点
帖子
326
精华
0
在线时间
431 小时
注册时间
2012-3-19
最后登录
2018-7-8

楼主
子衿1219 发表于 2012-12-18 16:54:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题是这样的:(a1, a2, ……a10)
(b1, b2, ……b10)
其中ai,  bi  均为10*1向量
我想做的事情是:
求 c1*(a1%*%t(b1))+c2*(a2%*%t(b2))+……+c10*(a1%*%t(b10))
t()表示向量转置。ci 是单个的数。
做出来是一个矩阵。
有没有专门的命令。因为有可能,列数比较多的话,这样直接写比较不实际,能不能有不用循环的命令?
二维码

扫码加我 拉你入群

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

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

关键词:有没有 矩阵

沙发
hunatbj 发表于 2012-12-18 16:59:48
学习了,谢谢

藤椅
nuomin 发表于 2012-12-18 17:23:09
c*diag(A%*%B),A为(a1, a2, ……a10)B为(b1, b2, ……b10)

板凳
子衿1219 发表于 2012-12-18 19:34:45
nuomin 发表于 2012-12-18 17:23
c*diag(A%*%B),A为(a1, a2, ……a10)B为(b1, b2, ……b10)
感谢楼上的回复,但是我简单做了个例子不对呢,比方说
A<-matrix(rep(1,4),ncol=2)
B<-matrix(c(1:4),ncol=2)
diag(A%*%B)
结果是:[1] 3 7
显然不对的。

报纸
子衿1219 发表于 2012-12-18 19:38:30
nuomin 发表于 2012-12-18 17:23
c*diag(A%*%B),A为(a1, a2, ……a10)B为(b1, b2, ……b10)
感谢楼上的回复,但是我简单做了个例子不对呢,比方说
A<-matrix(rep(1,4),ncol=2)
B<-matrix(c(1:4),ncol=2)
diag(A%*%B)
结果是:[1] 3 7
显然不对的。

地板
子衿1219 发表于 2012-12-18 20:24:22
帖子别沉啊!!!!!

7
jmpamao 发表于 2012-12-18 23:17:23
t(c*t(a%*%b))


你的题目我看的 不大明白
a <- matrix(c(1,1,1,1),ncol=2)
b <- matrix(c(1:4),ncol=2)
c <-c(1,2)
t(c*t(a%*%b))

a%*%b     
       [,1] [,2]
[1,]    3    7
[2,]    3    7
> t(c*t(a%*%b))     
        [,1] [,2]
[1,]    3   14
[2,]    3   14

8
子衿1219 发表于 2012-12-19 10:39:13
jmpamao 发表于 2012-12-18 23:17
t(c*t(a%*%b))
感谢楼上的回复。我举例说下题目,你的例子中:
a:  1   1         b: 1   2
     1   1            3    4
我想做的事情是:
c[1]*a[,1]%*%t(b[1,])+c[2]*a[,2]%*%t(b[2,])
结果应该如下:   

      [,1] [,2]
[1,]    5   11
[2,]    5   11

9
jmpamao 发表于 2012-12-19 12:53:24
e <- matrix(rep(0,4),ncol=2)
        a <- matrix(c(1,1,1,1),ncol=2)
        b <- matrix(c(1:4),ncol=2)
        f <- c(1,2)
  for(i in 1:2){
    k<-f[i]*a[,i]%*%t(b[i,])
    e = e+k
  }
  e
  
我觉得不循环,不大现实
c(1,2,...)这个向量 和 矩阵相乘 时, 是 按照矩阵 行一个数,一个数相乘,是有倍数关系的。

10
jmpamao 发表于 2012-12-19 12:58:13
> c(1,2,3,4)*matrix(c(1,2,3,4),ncol=2)
     [,1] [,2]
[1,]    1    9
[2,]    4   16
   > c(1,2)*matrix(c(1,2,3,4),ncol=2)   
       [,1] [,2]
[1,]    1    3
[2,]    4    8

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 04:18