Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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
matlab中文本读取失败_Matlab_Fopen - Fatal编程技术网

matlab中文本读取失败

matlab中文本读取失败,matlab,fopen,Matlab,Fopen,如上所述是我拥有的数据,它是.txt格式的。。。但当我试图读取其中一行数据以在Matlab中显示它时,我无法显示?我不会给你们一个解决方案,但我会指导你们 Reading: 2012-11-14 17:51:30.188000 Orient: 0.128638193011,0.485114246607,0.864937186241,0.347732484341 Gyro: -0.0267551075667,0.0950478315353,-0.131820827723 Accel: -0.199

如上所述是我拥有的数据,它是
.txt
格式的。。。但当我试图读取其中一行数据以在
Matlab
中显示它时,我无法显示?

我不会给你们一个解决方案,但我会指导你们

Reading: 2012-11-14 17:51:30.188000
Orient: 0.128638193011,0.485114246607,0.864937186241,0.347732484341
Gyro: -0.0267551075667,0.0950478315353,-0.131820827723
Accel: -0.199179515243,-0.979403376579,-0.0331153795123
Compass: 0.819754898548,-0.555078268051,-0.141031831503
Reading: 2012-11-14 17:51:30.300000
Orient: 0.102125242352,0.50507569313,0.85701161623,0.353488951921
Gyro: 0.0196692775935,0.134142056108,0.073423832655
Accel: -0.197360157967,-0.978824615479,-0.0543242283165
Compass: 0.823461055756,-0.549835622311,-0.139974221587
说明:

我正在从第一行扫描文本文件,直到最后一行:

  • while~feof(fid)
    我读取了文件中的每一行
  • title=sscanf(行,['%s:'])这里我提取文本文件中的第一个工作
  • 如果strcmp(标题为“Gyro:”)==1,现在我检查第一个工作是否是
    Gyro
    。如果是这样,那么我为自己提取相关信息(在本例中是三个数字)
现在,您可以执行相同的操作,从
Accel
提取信息并进行一些操作。 您可以轻松地编辑代码,添加和删除其中的行,以实现您的目标


我希望这能有所帮助。

我将遵循以下步骤(仅针对前两行文本,但可扩展到整个文件):

通过这种方式,您可以将每个文本行的属性存储到一个唯一的数组中


我希望这能有所帮助。

你是怎么读的?你能发布相关代码吗?fid=fopen('C:\Users\KaeBin\Desktop\log.txt');[names:,ax,ay,az]=textread(fid,%s%f%f',headerlines',0)我尝试过这种方式…但遇到了错误嗨,Maroun…很高兴见到你。实际上,我想从Accel和Gyro读取三轴数据来计算它们的距离,例如Accel:-0.199179515243,-0.979403376579,-0.0331153795123我想提取Accel中的值。然而,从传感器接收到的数据比上述数据要多。那么,如何提取它的具体数据呢?谢谢…^^^ Matlab将更好地解释它。基本上,它用于解析字符串。给你:嗨,Maroun谢谢你的帮助。^如果我想继续阅读每个类别的价值,我需要为它添加计数器和条件,对吗?谢谢你,我真的很感激^^
fid = fopen('C:\Users\KaeBin\Desktop\log.txt');
while ~feof(fid)
   line = fgets(fid);
   title = sscanf(line, ['%s:']);
   if strcmp(title, 'Gyro:')==1
     [name num]=strtok(line, ':');
     num=strtok(num, ':');
     nums_of_gyro=sscanf(num, '%f, %f, %f')
     ....
     ....
   end
   ...
   ...
end
clc, clear all, close all

fid = fopen(filename,'r');

A = textscan(fid,'%s','Delimiter','\r');

A = A{1};

a = A{1}(length('Reading')+2:end);
b = A{2}(length('Orient')+2:end);