我的 Matlab 代码有什么问题?索引越界

发布于 2024-11-28 16:58:15 字数 416 浏览 1 评论 0原文

我正在尝试读取包含 nmea 字符串的文本文件!但我得到了

??? Attempted to access y(1); index out of bounds because numel(Longitude)=0.
Error in ==> filter at 16
Loc(:,i)=coordinates(x(i),y(i))';

filter.m,

clear all
A=textread('xxx\x.txt','%s','headerlines',1);
 for i=1:30;
n=2*i-1;
A(i)=A(n);
end
b=A(1:30,:);
c=char(b);
x=c(:,17:24);
y=c(:,28:36);

我不明白为什么它是错误的?!!

I'm trying to read in a text file that contains nmea strings! But I get

??? Attempted to access y(1); index out of bounds because numel(Longitude)=0.
Error in ==> filter at 16
Loc(:,i)=coordinates(x(i),y(i))';

filter.m

clear all
A=textread('xxx\x.txt','%s','headerlines',1);
 for i=1:30;
n=2*i-1;
A(i)=A(n);
end
b=A(1:30,:);
c=char(b);
x=c(:,17:24);
y=c(:,28:36);

I can't figure out why it is wrong?!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

难忘№最初的完美 2024-12-05 16:58:15

您剪掉了字符串的错误部分,并以 ,N, 开头部分结束(并且也没有小数)。我相信你想要

Longitude=c(:,31:42);%Extract Longitude Array

You cut out the wrong part of the string and end up with the ,N, part in the beginning (and also no decimals). I believe you want

Longitude=c(:,31:42);%Extract Longitude Array
苏辞 2024-12-05 16:58:15
Longitude=c(:,28:36);%Extract Longitude Array

我的猜测是 c(:,28:36) 是空的,这意味着 A 也可能是空的。

Longitude=c(:,28:36);%Extract Longitude Array

My guess is that c(:,28:36) is empty which implies A might be empty too.

无所谓啦 2024-12-05 16:58:15

A 为空。使用 TEXTSCAN 代替:

>> fid = fopen('C:\Users\myself\Desktop\2.txt', 'rt');
>> A = textscan(fid, '%s');
>> A = A{1};
>> fclose(fid);

A is empty. Use TEXTSCAN instead:

>> fid = fopen('C:\Users\myself\Desktop\2.txt', 'rt');
>> A = textscan(fid, '%s');
>> A = A{1};
>> fclose(fid);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文