little620 发表于 2019-6-27 11:29:19

MERGE函数求助

新手求助~
MERGE(SUM(gmat(:,1)*avec*bvec), 0.0_8, af==1 .and. bf==12)
其中gmat是n1×n2维矩阵,avec, bvec, af, bf 都是n1维的向量,我想请问一下这个结果是输出什么呢
因为我一直以为merge(x,y,z)里面x,y,z应该有相同维度,但是上式中的第一个位置用了sum函数,我以为sum输出的是一个数,所以我不知道怎么理解这个式子~

vvt 发表于 2019-6-27 12:12:27

merge(x,y,z)x 和 y 必须是相同的维度,相同的大小。z 不需要
在你的语句中,0.0_8 是单变量。
SUM(gmat(:,1)*avec*bvec) 也是单变量。

是的,你的认为是对的,SUM输出的是一个单变量。

little620 发表于 2019-6-27 14:05:35

vvt 发表于 2019-6-27 12:12
merge(x,y,z)x 和 y 必须是相同的维度,相同的大小。z 不需要
在你的语句中,0.0_8 是单变量。
SUM(gmat( ...

您好,我理解你的意思了,但是我还是有点疑问,就是z这里是af==1 .and. bf==12,也就是一个逻辑数组,这个在当前merge语句中怎么使用呢(也就是merge的最终结果等于什么呢)

如果x=(1,2,3),y=(2,4,6),z=(0,1,0),那我知道merge(x,y,z)=(2,2,6)
如果x=1,y=2,z=(0,1,0),那merge(x,y,z)等于什么呢

vvt 发表于 2019-6-27 15:13:43

(2,1,2)




little620 发表于 2019-6-27 18:41:48

vvt 发表于 2019-6-27 15:13
(2,1,2)

哦哦,多谢多谢
页: [1]
查看完整版本: MERGE函数求助