MATLAB 以不同方式随机排列列

2023-12-04

我有一个非常大的矩阵 A,有 N 行和 M 列。我基本上想做以下操作

for k = 1:N
    A(k,:) = A(k,randperm(M));
end

但又快又高效。 (M 和 N 都非常大,这只是一个更大的外循环中的一个内循环。)

更多上下文:我正在尝试对相关矩阵(http://en.wikipedia.org/wiki/Resampling_%28statistics%29)。我的数据量很大,我很没有耐心。如果有人知道实施此类测试的快速方法,我也将不胜感激听到您的意见!

我有希望避免循环这样做吗?

如果已经有人问过这个问题,我们深表歉意。谢谢!


如果您输入open randperm(至少在 Matlab R2010b 中)你会看到它的输出p对于一个输入M is just

[~, p] = sort(rand(1,M));

因此,将其矢量化为N rows,

[~, P] = sort(rand(N,M), 2);

因此,生成P并使用线性分度 into A:

[~, P] = sort(rand(N,M), 2);
A = A(bsxfun(@plus, (1:N).', (P-1)*N));

示例:给定

N = 3;
M = 4;
A = [ 1     2     3     4
      5     6     7     8
      9    10    11    12 ];

一个(随机)结果是

A =
     2     3     1     4
     7     5     8     6
     9    11    12    10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB 以不同方式随机排列列 的相关文章

  • 在 MATLAB 中验证输入的最佳实践

    在验证 MATLAB 函数中的输入时 什么时候使用 inputParser 比使用断言更好 或者还有其他更好的工具可用吗 我个人发现使用 inputParser 不必要地复杂 对于 Matlab 始终需要检查 3 项内容 存在 类型和范围
  • GO TO 语句 - Fortran 到 Matlab

    我一直在努力将此网格搜索代码从 Fortran 转换为 Matlab 但是我无法正确合并 GO TO 语句 我正在尝试使用 while 循环 但我认为我需要其他东西来结束搜索 任何帮助将不胜感激 vmax 1 0E 15 amax G 1
  • 计算向量的导数

    我有以下函数 维维亚尼曲线 Phi t cos t 2 cos t sin t sin t 只需检查它是否有效 s linspace 0 T 1000 plot3 cos s 2 cos s sin s sin s 如何推导函数Phi 可能
  • 使用 scipy.io 将 python pandas dataframe 转换为 matlab 结构

    我正在尝试使用 scipy io 将 pandas 数据帧保存到 matlab mat 文件 我有以下内容 array1 np array 1 2 3 array2 np array a b c array3 np array 1 01 2
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • MATLAB 符号替换

    我知道在 MATLAB 中如果声明了 syms x y f x 2 y 2 grad gradient f 然后grad会存储值 2 x 2 y 如果我想评估梯度 2 2 I use subs f x y 2 2 这返回 4 4 我正在编写
  • Python 中 Matlab 'fscanf' 的等价物是什么?

    Matlab函数fscanf 似乎很强大 python 或numpy 中是否有相同的等效项 具体来说 我想从文件中读取矩阵 但我不想迭代每一行来读取矩阵 类似的东西 来自 matlab 用于读取 2D 1000x1000 矩阵 matrix
  • 如何从列中创建对称矩阵?

    例如 我想转动以下列 90 175 600 650 655 660 代入矩阵 90 175 600 650 655 660 175 600 650 655 660 655 600 650 655 660 655 650 650 655 66
  • Matlab 错误:()-索引必须出现在索引表达式的最后

    我有这段代码 想要在制表符分隔的 txt 文件中写入一个数组 fid fopen oo txt wt for x 1 length s fprintf fid s t n s x 1 end fclose fid 但我收到此错误 Error
  • MATLAB 图形渲染:OpenGL 与 Painters?

    当谈到使用哪个渲染器来处理 MATLAB 图形或何时它很重要时 我一无所知 但我遇到过某些示例 其中does matter plot 0 0 ko markersize 50 linewidth 8 set gcf renderer ope
  • 在每次迭代中使用 for 循环的索引命名图像

    我正在使用 MATLAB 进行图像处理项目 我使用 for 循环在每次循环迭代时生成某种图像数据 图像大小不同 我的问题是如何阻止它在下一次迭代中覆盖图像 Img i j data 理想情况下我希望它有 Img 1 data for 1st
  • 有没有办法在 MATLAB 中查看 pcode 文件 (.p) 的源代码?

    有没有办法在 MATLAB 中打开 pcode 文件 p 如果 开放 是指edit 那么当然不是 pcode 中的 p 代表 受保护 其主要设计目标是在保护其源代码的同时部署功能组件 如果 开放 是指run 那么当然是的 引用手册 http
  • 在 R 中计算大矩阵的零空间

    我找不到任何函数或包来计算 a 的零空间或 QR 分解 bigmatrix from library bigmemory 在 R 中 例如 library bigmemory a lt big matrix 1000000 1000 typ
  • 如何将条形图的 XtickLabels 向左移动?

    我目前正在尝试创建频率直方图 为此 我必须创建一个条形图 条形图之间没有空格 然而 这集中于XTickLabels在酒吧的中间 由于它是一个直方图 我希望数值位于每个条形之间的线上 以便它可以直观地指示间隔 本质上 我需要将所有刻度标签移至
  • 在 3d 空间中的两个平面之间进行插值

    我正在开发一种工具 可以让您在 3D 体积 上圈出 包围事物 我想通过标记 切片 1 和 3 并从该信息 填充 切片 2 来节省时间 两个简单的解决方案是 1 slice2 slice1 AND slice3 gets the overla
  • FFT 的功率谱密度

    我有一段代码可以获取部分信号的 FFT 现在我正在尝试获取 PSD Fs 44100 cj sqrt 1 T 6 dt 1 Fs left test 1 right test 2 time 45 interval 636 w range t
  • 如何在Matlab中自定义轮廓线?

    我正在准备一个等高线图 我应该在其中突出显示特定级别的等高线 例如 我的轮廓线值位于 1 和 1 之间 我想突出显示与值 0 相对应的线 我尝试使用以下过程来执行此操作 M c contourf longitude latitude del
  • 在 Excel 中打印 MATLAB 图窗并调整其大小

    我在 MATLAB 中有两个带有手柄的图形hFig1 and hFig2 我想将它们打印到 Excel 中的特定单元格 单元格 E3 和 I3 并将它们重新调整为 2 英寸 x 3 英寸 我尝试过使用 AddPictures对象处理程序和使
  • MATLAB 滚动图

    我有一个脑电图数据库 我想绘制它 数据库是一个19 1000 134的矩阵 其中 19 是通道数 在第一种方法中 我只使用一个渠道 1000 个样本大小 采样率为 500 Hz 时为 1000 个点 即 2 秒数据 134 epochs的数
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列

随机推荐

  • 我在设置 MvvmCross 6.0 时做错了什么?

    我是 MvvmCross 6 0 和 Xamarin 的新手 我正在尝试遵循这里是 MvvmCrosss 5 5 的教程 我按照解释 创建 App xaml 作为 MvxFormsApplication
  • Google Chrome“后退”和“前进”历史记录

    我正在开发一个名为 的小扩展 标签捆绑器 简而言之 它将窗口中所有打开的选项卡保存到一个捆绑包中 只需单击按钮即可打开该捆绑包 但是 当打开捆绑包时 不会保存用户如何访问该 url 的历史记录 即用户无法点击返回查看他们如何到达该网址 这是
  • 项目级别的 SourceSafe 合并

    我正在运行 SourceSafe 并且我的代码有两个分支 我目前正在使用手动方法运行报告来显示差异 然后手动将每个文件一一合并 不过 我正在尝试找到一种简化的方法来在项目级别上做到这一点 如果该过程一次显示每个文件一个就可以了 我只是担心如
  • 将逗号分隔值拆分到具有固定列数的目标表中

    我在 Postgres 13 1 数据库中有一个包含单列的表 它由许多带有逗号分隔值的行组成 最多大约 20 个元素 我想将数据分成多列 但我的列数有限 例如单行中有 5 个和 5 个以上的 CSV 值 因此多余的值必须转移到新的 下一行
  • React Native:firestore/firebase 预期 collection() 的第一个参数是 CollectionReference...怎么样?

    因此 我有一个简单的 React Native 应用程序 它是我使用 Expo 创建的 并在我的个人 Android 设备上进行调试 我已将 firebase firestore 包含到我的应用程序中 现在尝试在单击按钮时将对象添加到 fi
  • 将 web.config 文件转换为 .htaccess

    我正在寻找一种将 IIS 重写规则转换为 htaccess 文件的方法 我找不到任何工具来自动执行此操作 我所能得到的只是 500 个内部服务器错误 web config 文件如下所示
  • 添加“Authorization”标头会导致 Spring Security 保护允许的端点

    所以 我的里面有这个WebSecurityConfigurerAdapter public class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdap
  • 如果 C# 中的相同位置已存在文件,则始终创建新文件

    我使用下面的代码创建了一个新文件 但如果该文件已经存在 那么我需要使用另一个文件名创建一个新文件 这可能吗 FileStream fs new FileStream filePath FileMode Append FileAccess W
  • 带等高线的 Gnuplot 、 pm3d

    我正在用一些值绘制一个矩阵 3D 并且我需要向图中添加等高线 是否有一个简单的 gnuplot 命令可以做到这一点 我尝试了命令 设置轮廓基础 但只出现了 1 行 我认为应该有很多行 看matlab图片 当我在 gnuplot 中绘制它时
  • R flextable - 如何在合并单元格下添加表宽水平边框

    当合并单元格时 是否有一种聪明的方法可以使水平边框表格变宽 在下面的示例中 它还不是表宽 或者我应该编写一个函数来计算正确的索引 library flextable library officer library dplyr myft lt
  • MySQL 查询查找订购了两种特定产品的客户

    我无法提出一个查询来查找同时购买了 PROD1 和 PROD2 的所有客户 这是一个伪查询 看起来像我想要做的 显然这是行不通的 SELECT COUNT DISTINCT userid FROM TRANSACTIONS WHERE pr
  • javascript - 如何让对象返回一个不是对象本身的值

    当创建一个x new Date 对象 如果你把它放入console log x 将输出一个字符串 有没有办法制作一个自定义对象 该对象将返回一个不是对象本身的不同值 有一个函数可以做到这一点 toString 但是如果你这样做console
  • 为 CakePHP 发送正确的 JSON 内容类型

    在我的 CakePHP 应用程序中 我返回 JSON 并针对某些请求退出 例如 尝试通过 GET 请求访问 API 进行登录 header Content Type application json echo json encode arr
  • Intellij Idea 13 有代码片段编辑器吗?

    Visual Studio 有片段设计师扩展可用于创建和管理自定义代码片段 是否有类似 Intellij Idea 13 的扩展 或者简单添加自定义代码片段的方法 据我所知 没有扩展 而且我不熟悉 Snippet Designer 但 In
  • 将 Guid 表示为一组整数

    如果我想将 guid 表示为一组整数 我将如何处理转换 我正在考虑获取 guid 的字节数组表示形式并将其分解为可以转换回原始 guid 的尽可能少的 32 位整数 首选代码示例 另外 生成的整数数组的长度是多少 由于 GUID 只有 16
  • 安装Python geopandas失败

    我正在尝试安装 geopandas 进行以下设置 Windows 64 Anaconda2 64 位 Python 2 7 尝试过两件事 1 pip install geopandas 这给了我以下错误 WindowsError Error
  • 在Python中使用win32com.client如何查找和替换多个文本

    我正在尝试使用查找和替换来将多个字符串值添加到 Word 文档中win32com客户端Python 库 我可以查找并替换一个值 但我不知道如何对多个值执行此操作 这是我到目前为止所拥有的 import win32com client wor
  • 使用 UITextField + UIPickerview 时禁用键盘输入

    这个项目也是点击textfield pickerview打开 但是上面显示的数据可以在该部分中输入 我怎样才能将其关闭 所以请看下面我的选择 如果单击文本字段 我将打开选择器视图 import UIKit import NVActivity
  • NetworkX - 阻止节点聚集 - 尝试 Scale/K 参数

    我有大约 28 个节点 其中大多数节点之间都有边 有些是孤立的 没有边 孤立的节点分布得很好 但连接的节点却堆积得很厉害 我看不到任何东西 我尝试了各种 node sizes scale 和 k 参数 它总是给我 大致 相同的结果 有什么办
  • MATLAB 以不同方式随机排列列

    我有一个非常大的矩阵 A 有 N 行和 M 列 我基本上想做以下操作 for k 1 N A k A k randperm M end 但又快又高效 M 和 N 都非常大 这只是一个更大的外循环中的一个内循环 更多上下文 我正在尝试对相关矩