精华内容
下载资源
问答
  • matlab如何提取矩阵中指定位置元素 1)指定行和列:A(m,n),提取第m行,第n列 2)某一行全部元素:A(m,:) 3)某一列全部元素:A(:,n) 4) 取出某些行:A([m,n],: )(第m行和第n行组成一个矩阵) 5)取出某行到某行:A...

    matlab中如何提取矩阵中指定位置元素
    1)指定行和列:A(m,n),提取第m行,第n列
    2)某一行全部元素:A(m,:)
    3)某一列全部元素:A(:,n)
    4) 取出某些行:A([m,n],: )(第m行和第n行组成一个矩阵)
    5)取出某行到某行:A(m:n,:), A(m:end,:)(end是倒数第一行)
    6)跳跃式提取:A(m:k:n,:)第m行到第n行每隔取一次
    7)得到全部元素:A(: )输出结果是一个列向量

    展开全文
  • 在神经网络计算过程,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型如何做到这一点呢?首先假设 Variable 是一个一维数组 A:...

    在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做到这一点呢?

    首先假设 Variable 是一个一维数组 A:

    1

    2

    3

    4

    5

    6

    7

    import numpy as np

    import tensorflow as tf

    a= np.array([1,2,3,4,5,6,7,8])

    A= tf.Variable(a)

    我们把我们想取出的元素的索引存到 B 中,如果我们只想取出数组 A 中的某一个元素,则 B 的设定为:

    1

    2

    3

    b= np.array([3])

    B= tf.placeholder(dtype=tf.int32, shape=[1])

    由于我们的索引坐标只有一维,所以 shape=1。

    取出元素然后组合成tensor C 的操作如下:

    1

    C= tf.gather_nd(A, B)

    运行:

    1

    2

    3

    4

    5

    6

    7

    init= tf.global_variables_initializer()

    with tf.Session() as sess:

    init.run()

    feed_dict= {B: b}

    result= sess.run([C], feed_dict=feed_dict)

    print result

    得到:

    1

    [4]

    如果我们想取出一维数组中的多个元素,则需要把每一个想取出的元素索引都单独放一行:

    1

    2

    3

    b= np.array([[3], [2], [5], [0]])

    B= tf.placeholder(dtype=tf.int32, shape=[4,1])

    此时由于我们想要从一维数组中索引 4 个数,所以 shape=[4, 1]

    再次运行得到:

    1

    [4 3 6 1]

    华丽丽的分割线

    假设 Variable 是一个二维矩阵 A:

    1

    2

    3

    a= np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])

    A= tf.Variable(a)

    首先我们先取出 A 中的一个元素,需要给定该元素的行列坐标,存到 B 中:

    1

    2

    3

    b= np.array([2,3])

    B= tf.placeholder(dtype=tf.int32, shape=[2])

    注意由于我们输入的索引坐标变成了二维,所以shape也变为2。

    取出元素然后组合成tensor C:

    1

    C= tf.gather_nd(A, B)

    运行:

    1

    2

    3

    4

    5

    6

    7

    init= tf.global_variables_initializer()

    with tf.Session() as sess:

    init.run()

    feed_dict= {B: b}

    result= sess.run([C], feed_dict=feed_dict)

    print result

    得到:

    1

    [12]

    同样的,如果我们想取出二维矩阵中的多个元素,则需要把每一个想取出的元素的索引都单独放一行:

    1

    2

    3

    b= np.array([[2,3], [1,0], [2,2], [0,1]])

    B= tf.placeholder(dtype=tf.int32, shape=[4,2])

    此时由于我们想要从二维矩阵中索引出 4 个数,所以 shape=[4, 2]

    再次运行得到:

    1

    [12 5 11 2]

    华丽丽的分割线

    推广到 n 维矩阵中:

    假设 A 是 Variable 类型的 n 维矩阵,我们想取出矩阵中的 m 个元素,那么首先每个元素的索引坐标要表示成列表的形式:

    1

    index= [x1, x2, x3, ..., xn]

    其中 xj 代表该元素在 n 维矩阵中第 j 维的位置。

    其次每个坐标要单独占索引矩阵的一行:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    index_matrix= [[x11, x12, x13, ..., x1n],

    [x21, x22, x23, ..., x2n],

    [x31, x32, x33, ..., x3n],

    .......................................,

    [xm1, xm2, xm3, ..., xmn]]

    最后用 tf.gather_nd() 函数替换即可:

    1

    result= tf.gather_nd(A, index_matrix)

    华丽丽的分割线

    [注] 问题出自:https://stackoverflow.com/questions/44793286/slicing-tensorflow-tensor-with-tensor

    以上这篇将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

    原文链接:https://blog.csdn.net/qq_32492561/article/details/78316742

    展开全文
  • 一个矩阵有6个参数 我想要分别取到这6个参数值,如何实现? 有没有原生的API?
  • 文章目录(1)取指定行和列的一个元素(2)取指定某一行全部元素(3)取指定某一列全部元素(4)取指定某些行的全部元素(输出一个矩阵)(5)取全部元素(按列拼接) (1)取指定行和列的一个元素 A(行,列) A(1,1)...

    (1)提取矩阵中指定的元素

    1)取指定行和列的一个元素

    A(行,列)

    A(1,1)

    2)取指定某一行全部元素

    A(行,:)

    A(1,:) % 取第一行

    3)取指定某一列全部元素

    A(: , 列)

    A(: , 1)  % 取第一列

    4)取指定某些行的全部元素(输出一个矩阵)

    A([2, 5], :) % 提取2,5行所有元素
    A([2:5], :)   % 提取2~ 5行所有元素(2 3 4 5)
    A([2:2:5], :) % 步数为2,提取2 4行所有元素
    A(2:end, :)   % 取第二行到最后一行
    A(2:end-1, :) % 取第二行到倒数第二行

    5)取全部元素(按列拼接)

    A( : )

    (2)矩阵的运算

    1)矩阵乘法与除法

    A*B           %乘法
    A/B=A*inv(B)  %除法

    2)两个形状相同的矩阵对应元素之间的乘除法

    A.*B
    A./B

    3)每个元素同时和常数相乘或相除

    A*2
    A.*2
    A/2
    A./2

    4)每个元素同时乘方

    A.^2
    展开全文
  • 0.7425 -9.0672 40 60 0 10 72.2374 -4.393 -14.2564 50 20 10 0 67.2916 -9.6956 -20.2217] 我有一个矩阵 6000行 7列 ,其中,前四列是0 5 10 20 30 40 50 60 70 80 90 100 这几个数字随机排列起来...

    [40  10  10   0  75.8291  -9.1164  -13.7194

    50        20  10  80  70.0268  -14.7433  -19.982

    60        10  30  0  64.3484  -19.7989  -25.4583

    70        10  10  100  61.7309  -23.0001  -28.8289

    40        30  10  10  52.8051  -27.8773  -40.3002

    90        10  50  0  54.7763  -31.5686  -38.2046

    100        10  10  20  52.1687  -36.6261  -42.627

    10        60  50  0  83.4774  4.4897  -4.3057

    20        20  10  0  79.7278  2.0888  -5.0903

    30        20  10  40  76.1861  -0.7425  -9.0672

    40        60  0  10  72.2374  -4.393  -14.2564

    50        20  10  0  67.2916  -9.6956  -20.2217]

    我有一个矩阵  6000行  7列  ,其中,前四列是0 5 10 20 30 40 50 60 70 80 90 100 这几个数字随机排列起来的,截取了其中一部分数据,如上表。

    现在我想按照特定的条件提取正行。条件是 第一列数字为40,并且第二列数字可以是0 5 10 20 30 40 50 60 70 80 90 100当中的任何一个,并且第三列数字可以是0 5 10 20 30 40 50 60 70 80 90 100当中的任何一个,并且第四列数字为10.筛选出所有满足这四个条件的整行元素,并且把这些元素所在的整行提取出来,组成新的矩阵,请问这个怎么解决呢?谢谢!

    就拿我给出的这部分数据来说 最后的提取结果是

    [40        30        10        10        52.8051        -27.8773        -40.3002

    40        60        0        10        72.2374        -4.393        -14.2564]

    这种效果的

    展开全文
  • MATLAB,如何取出一个1×n矩阵的最后一个元素

    万次阅读 多人点赞 2019-08-10 17:56:05
    a(x:end)表示取出a矩阵中第x个至最后一个元素 例如 a=[1:10] b=a(5:end) 执行结果 b=[5 6 7 8 9 10] 作为特例,取出a的最后一个元素可以使用 b=a(end) 执行结果 b=10 任意取出Array的倒数m个元素:Array(end-...
  • 在神经网络计算过程,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如...我们把我们想取出元素的索引存到 B ,如果我们只想取出数组 A 的某一个元素,则 B 的设定为: b = np.array([3]) B
  • 矩阵合并 / cell元素提取 / 修改矩阵内的某个元素
  • 以下代码可实现 矩阵中任意位置元素的取值 数组和矩阵中取值的区别 如何将矩阵中某行数据在matplotlib上画出 import numpy as np ...a1=a[1,1]#取一个元素时,数组和矩阵返回值一样 a2=a[:,2]...
  • 1.提取矩阵列、元素元素: A(:,j)表示提取A矩阵的第j列全部元素 元素: A(i,:)表示提取A矩阵的第i行元素, 于是我们有,A(i, j)表示提取A矩阵的第i行第j列的元素。 2.提取多行多列元素 多行...
  • print(a[1]) # 取出矩阵中的第行 print(a[0][2]) # 取出矩阵中第0行第二列的数 print(a[0, 2]) # 取出矩阵中第0行第二列的数 print(a[1, 1:3]) # 取出矩阵中行 第1列到第3列(前闭后开)的数据 print(a[:, 2]) ...
  • 最近想用pytorch搭一个机器翻译模型,过程涉及到从矩阵中取出某些指定元素组成新矩阵的步骤,然后在pytorch官网上找到对应功能的函数为 torch.gather 。pytorch官网上介绍这个函数时就寥寥几句话:###############...
  • 由于Matlab是按照列优先存储数据,...基本思想:每列5个元素对应的列select_minQ-1乘以5,计算每列最后一个元素的坐标位置; #由于matlab没有index=0; select_minQ-1表示最后一个元素位置,加上[1;2;3;4;5],表示...
  • 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入: [[0,0,0], ...给定矩阵中至少有一个元素是 0。 矩阵中元素只在四个方向上相邻: 上、下、左
  • C是一个矩阵 X1=C([1,3:5],1); 注意,需要加[ ],则第一列,第1,3,4,5行元素提取了出来。
  • 这个属于一般基本问题,偶尔会用到这个知识点,有些库或者软件...比如A = [1,2,3],B = [4,5],C = [6] 这里有三个矩阵,从每个矩阵取出一个元素形成组合有3*2*1=6种组合,分别为 1 4 6;  2 4 6;  3 4 6;  1 5 ...
  • [9,10,11,12]] >>> >>> nb_vals(matrix, [1,1]) [1,2,3,5,7,9,10,11] 这是与维度无关的(为输入“矩阵”的任意数量的维度工作)并处理您可能希望在附近找到邻居的任意数量的索引. >>> arr_shape = (2,3,4,5) >>> ...
  • Matlab之Simulink中提取矩阵某些元素

    千次阅读 2019-03-15 16:08:29
    实测在SImulink中提取矩阵元素方法: 选择selector模块, 输入维度为二,index option1 为行号,2为列,选择输入想要提取的元素位置
  • 将多维矩阵转化为矩阵,使用线性索引进行提取
  • 在神经网络计算过程,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型如何做到这一点呢? 首先假设 Variable 是一个一维...
  • 对于array,如2-D的array,如何取指定元素设array为3*10的shapes = array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]])想取指定元素,...
  • 删除矩阵中相同元素和为0的元素 如果下一元素出现与前面元素相等的情况,下相同的元素去除
  • I have a NxM matrix for example named A. After some processes I want to count the zero elements.How can I do this in one line code? I tried A==0 which returns a 2D matrix.解决方案There is a function ...
  • 为了给矩阵一个元素的值进行提取,我从网上找过一些办法,但都不是很全面,经过学习试验发现如下规律: 1.一个矩阵如果用numpy.eye(),或者列举的方法赋值,那么可以用如下方法进行取值和赋值: from numpy ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,983
精华内容 25,993
关键字:

如何取出矩阵中的一个元素