Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从json文件中读取值并在MATLAB绘图函数中使用它?_Json_Matlab_Matplotlib_Matlab Guide_Indoor Positioning System - Fatal编程技术网

如何从json文件中读取值并在MATLAB绘图函数中使用它?

如何从json文件中读取值并在MATLAB绘图函数中使用它?,json,matlab,matplotlib,matlab-guide,indoor-positioning-system,Json,Matlab,Matplotlib,Matlab Guide,Indoor Positioning System,我想从JSON文件中读取一个值,并在plot函数中使用这些值。 所以我做了一些研究,发现有一个名为“loadjson”的库,我已经将它添加到我的MATLAB中。但我无法从JSON文件中读取值,也无法在MATLAB中找到解决方案。 我是MATLAB的新手,我需要一些帮助:) 提前谢谢 代码: 代码的输出: 我的JSON文件: "Location": [ { "id": "0b5965e5-c509-4522-a525-8ef5

我想从JSON文件中读取一个值,并在plot函数中使用这些值。 所以我做了一些研究,发现有一个名为“loadjson”的库,我已经将它添加到我的MATLAB中。但我无法从JSON文件中读取值,也无法在MATLAB中找到解决方案。 我是MATLAB的新手,我需要一些帮助:)

提前谢谢

代码:

代码的输出:

我的JSON文件:

"Location": [
    {
      "id": "0b5965e5-c509-4522-a525-8ef5a49dadaf",
      "measureId": "5a6e9b79-dbb1-4482-acc1-d538f68ef01f",
      "locationX": 0.9039769252518151,
      "locationY": 0.2640594070404616,
      "createdAt": "06-01-2021 19:38:44"
    },
    {
      "id": "18714a2f-a8b3-4dc6-8a5b-114497fa9671",
      "measureId": "671f52bc-a066-494a-9dce-6e9ccfac6c1d",
      "locationX": 1.5592001730078755,
      "locationY": 0.5207689756815629,
      "createdAt": "06-01-2021 19:35:24"
    },

从JSON结构来看,我希望
Location
单元格数组中的每个元素都是一个结构,至少包含
locationX
locationY
字段

您可以使用以下内容提取这些字段

x = cellfun( @(cellElem) cellElem.locationX, data.Location );
y = cellfun( @(cellElem) cellElem.locationY, data.Location );

不要称您的脚本为“path”,这是一个matlab保留字,您正在覆盖它。您还可以看到
数据
包含2个变量,每个变量都是一个单元格数组。检查这些值,看看你想要的信息是否在那里,它就像一个符咒!谢谢你,好先生。我还有一个问题。如何按(asc)“createdAt”列对数据顺序进行排序?对该属性执行相同的操作,但使用
datetime
将字符串转换为时间,记住指定日期字符串的格式。然后,您可以将它们全部放在一个表中,并使用
sortrows
或使用
sort
的第二个输出手动执行操作。如果不清楚,请针对该特定任务询问另一个问题。[~,X]=sort(cellfun(@(celllem)celllem.createdAt,data.Location,'UniformOutput',false));我试过这个,但没有成功。事实上,我在MATLAB中做了回答。正如我所说,您必须使用
datetime
来隐藏它,对字符串进行排序在这里没有意义。试着用你的
cellfun
少做一件事,只输出一个字符串单元格而不排序,然后你就可以进行转换了。如果您不理解这一点,请提出一个有关将单元格数组转换为日期时间和排序的新问题
x = cellfun( @(cellElem) cellElem.locationX, data.Location );
y = cellfun( @(cellElem) cellElem.locationY, data.Location );