Matlab:从包含坐标的txt文件中的数据创建矩阵

Matlab:从包含坐标的txt文件中的数据创建矩阵,matlab,matrix,Matlab,Matrix,我需要帮助建立问题中的第二个矩阵: 使用textscan读取文件topographicMap.txt的内容。文件中的每一行都包含以下值,由一个选项卡分隔: Y坐标(介于1和32之间的整数值) X坐标(介于1和32之间的整数值) 指定坐标中的高度(浮点数) 字符串–“宝藏”,如果在特定位置隐藏宝藏,则为“宝藏”,否则为“普通”。(该文件共包含3个宝藏。) 循环映射_数据的内容并生成: 2)一个名为宝藏的3x2矩阵,包含3个隐藏宝藏的坐标。第一列应包含Y坐标,第二列应包含X坐标。看起来第三列是一个序

我需要帮助建立问题中的第二个矩阵:

使用textscan读取文件topographicMap.txt的内容。文件中的每一行都包含以下值,由一个选项卡分隔: Y坐标(介于1和32之间的整数值) X坐标(介于1和32之间的整数值) 指定坐标中的高度(浮点数) 字符串–“宝藏”,如果在特定位置隐藏宝藏,则为“宝藏”,否则为“普通”。(该文件共包含3个宝藏。)

循环映射_数据的内容并生成:


2)一个名为宝藏的3x2矩阵,包含3个隐藏宝藏的坐标。第一列应包含Y坐标,第二列应包含X坐标。

看起来第三列是一个序列化的完整32x32矩阵,您只需使用整形即可获得整个阵列

map_matrix=reshape(map_data{3},32,32);
要获取宝藏数据点,您应该在最后一列中搜索“宝藏”
map_data{4}
使用
ismember
,如果您能够获得6个数字,那么您还可以将其重塑为3x2,类似于

idx=find(ismember(map_data{4},'Treasure'));
if(length(idx)==6)
   treat_matrix=reshape(map_data{3}(idx),3,2);
end

我编写的代码按预期运行。我在问题的第二部分遇到了问题,用3件宝藏的坐标创建一个3x2矩阵。请以a的形式回答你的问题,并将文本作为文本;不是图像第二个矩阵需要是3x2矩阵,其中第一列包含宝藏的Y坐标,第二列包含宝藏的X坐标。您编写的代码中的idx给出了宝藏的3个高度。