matlab - 将 3d matlab 矩阵重塑为具有索引和值的 2d 矩阵
问题描述
我在 MATLAB 中有一个 3D 矩阵。它有 3 行、4 列和 2 个时间范围。请看数据集:
>> size(filtered_data)
ans =
3 4 2
>> filtered_data
filtered_data(:,:,1) =
15 22 19 16
15 15 13 17
19 20 17 17
filtered_data(:,:,2) =
14 17 14 10
18 19 11 18
16 15 14 17
我想将此 3D 矩阵的所有值及其索引存储到二维变量中。
这看起来像这样
我尝试使用该find()
函数,但它返回多个索引,并且它要求您输入需要计算索引的值。
这个问题有预定义的 MATLAB 函数吗?
我将不胜感激。
解决方案
我不相信有一个内置的 MATLAB 函数可以做到这一点,但自己做很容易:
sz = size(filtered_data);
[x,y] = meshgrid(1:sz(2),1:sz(1));
output = [x(:).';y(:).';reshape(filtered_data(:),[],sz(3)).'];
推荐阅读
- angular - Angular 编译器找不到 jasmine.CustomMatchers,即使它位于 @types/jasmine
- selenium-webdriver - 为什么在 selenium 中使用元素列表不起作用但如果我使用 WebDriver 它会起作用
- git - VSTS 中的 PR 合并不正确 - 合并后新的更改消失了
- javascript - 带有 jQuery 脚本的 JavaScript 未加载
- php - 不上传多个文件
- elasticsearch - Elasticsearch Query 以显示出现在两个日期范围内的字段值的结果?
- c++ - VS2015 编译器上的 openmp 和犰狳对 omp 的支持未检测到
- javascript - 下载 MVC FileResult 在 IE 或 Edge 浏览器中不起作用
- javascript - 使用 jQuery 的互斥表单字段
- python - 如何并行读取 csv 并在 Cassandra 中并行写入以实现高吞吐量?