Julia 带“的矩阵上的矩阵运算”;“失踪”;元素

Julia 带“的矩阵上的矩阵运算”;“失踪”;元素,julia,Julia,我试图在矩阵中分析一些实验,我遇到了一些问题。 例如,我想缩放矩阵的列,使每列的第一行为1。 我想以我现在开始学习的整洁/干净的方式来做,但我正在努力找到一个好的解决方案 问题来自这样一个事实,即每根柱子都是一些实验测试的结果,它们有不同的长度。我已经“修复”了这个问题,在excel中创建了矩阵,在列底部的空单元格中添加了一个缺少的元素,然后在julia中复制粘贴。我想这可能不是解决这个问题的最好办法吧 示例:(不过正规矩阵要大得多) 在那之后,我想做一些分析,其中之一是缩放矩阵,使第一行为=[

我试图在矩阵中分析一些实验,我遇到了一些问题。 例如,我想缩放矩阵的列,使每列的第一行为1。 我想以我现在开始学习的整洁/干净的方式来做,但我正在努力找到一个好的解决方案

  • 问题来自这样一个事实,即每根柱子都是一些实验测试的结果,它们有不同的长度。我已经“修复”了这个问题,在excel中创建了矩阵,在列底部的空单元格中添加了一个缺少的元素,然后在julia中复制粘贴。我想这可能不是解决这个问题的最好办法吧
  • 示例:(不过正规矩阵要大得多)

  • 在那之后,我想做一些分析,其中之一是缩放矩阵,使第一行为=[1…1]。我两个都试过了
    map((x,y)->x./y,A[2:end,:],A[1,:])
    但它似乎只将第一行的前N个元素应用于第一列。 或者,我尝试使用mapslices,但得到以下错误
    MethodError:无法将缺少类型的对象“转换”为Float64类型的对象
  • 我有种感觉,我错过了什么,我的谷歌让我失望了。。。非常感谢您的帮助


    附言:如果我遗漏了一些已经回答的问题或者遗漏了一些指导原则,我会道歉,如果需要,我会尝试改进我的问题。这是我第一次在这里发帖

    我不确定你的第一个问题是什么,如果不知道你处理的数据是什么样子的话,似乎很难回答

    如果我理解正确,你的第二个问题应该简单到:

    julia> A ./ A[1, :]'
    3×3 Matrix{Union{Missing, Float64}}:
     1.0       1.0       1.0
     4.0       2.5       2.0
      missing   missing  3.0
    
    编辑以添加:

    矩阵是不是一个好主意取决于更广泛的上下文,但是如果你有一些不同长度的数字向量,你可以把它们放在向量向量中,而不是矩阵中,这意味着它们不必都有相同的长度:

    julia> x = rand(3); y = rand(5);
    
    julia> A = [x, y]
    2-element Vector{Vector{Float64}}:
     [0.2654489138174001, 0.8598585826482341, 0.43527866751212607]
     [0.4702376843007643, 0.7890927390349933, 0.6073796489306595, 0.9178238662871376, 0.5917433487576529]
    
    julia> A ./ first.(A)
    2-element Vector{Vector{Float64}}:
     [1.0, 3.2392620119731323, 1.6397831931290188]
     [1.0, 1.6780721013637205, 1.2916439264833126, 1.9518296745015802, 1.2583920185758093]
    

    Hi Nils,关于问题1,数据是一系列不同长度的浮点数。目前矩阵为12x6(6个供试品,12个测试点)。(目前它是一个简化集,用于试验解决方案)。一些测试点只有10或11个,因为它们比其他测试点更快失败,因此“缺失”。第二点,太完美了!谢谢如果不了解更广泛的背景,很难说使用矩阵是否是个好主意。我在上面的答案中添加了一些东西,但是这里有很多潜在的方法。
    julia> x = rand(3); y = rand(5);
    
    julia> A = [x, y]
    2-element Vector{Vector{Float64}}:
     [0.2654489138174001, 0.8598585826482341, 0.43527866751212607]
     [0.4702376843007643, 0.7890927390349933, 0.6073796489306595, 0.9178238662871376, 0.5917433487576529]
    
    julia> A ./ first.(A)
    2-element Vector{Vector{Float64}}:
     [1.0, 3.2392620119731323, 1.6397831931290188]
     [1.0, 1.6780721013637205, 1.2916439264833126, 1.9518296745015802, 1.2583920185758093]