【问题标题】:How to mean each cell in a 60x60 table (Matlab)如何表示 60x60 表格中的每个单元格(Matlab)
【发布时间】:2019-12-16 17:58:48
【问题描述】:

我是 Matlab 的初学者,所以如果我的问题对您来说似乎很简单(或不简单),我很抱歉。我会尽量让大家理解。

所以首先我有一个 .mat 文件夹,其中有 2 列对应于 X 和 Y 坐标,反映了大脑结构中的细胞计数(1 个文件夹 = 1 个受试者,总共 8 个受试者)。我将每个主题的 XY 坐标转换为 60x60 尺寸的“矩阵”。来自 2 个主题的示例:

加载 S1 % .mat XY 坐标第一个主题

加载 S2 % XY 坐标第二个主题

nbins=[60,60]

Mx=hist3(S1,'Nbins',nbins)

Mx2=hist3(S2,'Nbins',nbins)

所以我有 2 个 60x60 的“双倍”。

我想做的很简单,但我找不到合适的方法: 我只想在一个新的 60x60 平均矩阵中表示我的 2 个矩阵。所以,意思是每个单元格,而不是每一列!

也许不可能在“双”表上执行此操作,所以我将其转换为“表”:

Tx=array2table(Mx)

Tx2=array2table(Mx2)

但是现在...我不知道如何表示我的矩阵。我的列和行没有名称,可能是问题?

这个平均矩阵将被绘制在热图中,我将对其进行统计测试。 (与统计测试相同的程序:每个单元格将在我的平均矩阵之间进行测试)。

你能帮我解决这个问题吗?或者只是一些提示!如果您有任何问题或想了解更多详情,请随时询问。

非常感谢:)

【问题讨论】:

    标签: matrix coordinates


    【解决方案1】:

    也许您可以对两个矩阵中的值进行平均:

    load S1 % .mat XY coordinates 1st subject
    load S2 % XY coordinates 2nd subject
    
    nbins=[60,60]
    Mx=hist3(S1,'Nbins',nbins)
    Mx2=hist3(S2,'Nbins',nbins)
    M_avg = (Mx+Mx2)/2; % average value
    surf(X,Y,M_avg) ! can even plotted if X and Y have proper dimensions
    

    【讨论】:

    • 完美。这很简单,我从3天就开始了!谢谢!
    • 如果这解决了你的问题,你应该考虑接受答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2023-02-04
    相关资源
    最近更新 更多