在Matlab中,使用length(x)的错误,给出下标指示错误

use*_*741 3 size matlab vector spline

我从.dat文件中提取时间相关数据,并使用样条函数将值与正在使用的现有时间向量相匹配.由于某种原因,长度函数无法读取向量的长度.

我可以用这个模糊重新创建错误:

x = linspace(1,98,76)';
y = 20.*x-5.*x.^2;
t = linspace(0,100,1000)';
yy = spline(x,y,t);
length(yy)
Run Code Online (Sandbox Code Playgroud)

它回来了

??? 下标索引必须是实数正整数或逻辑.

它在我的工作区中显示yy是1000x1 double,而max(size(yy))工作正常.什么造成这个错误?

Pra*_*ian 8

您可能length在工作区中有一个名为变量的变量.使用该whos命令查看是否是这种情况.

whos length
Run Code Online (Sandbox Code Playgroud)

这将打印出变量的大小和类型(length如果存在).