我正在使用以下代码:
for t = linspace(0,2,500)
x(t) = 1+ t^2;
y(t) = 2*t;
r(t) = sqrt((x(t))^2+(y(t))^2);
radius = 1.6
if r(t) > 0.999*radius & r(t) < 1.001*radius then
solucion = t;
end
end;
disp(solucion, "the solution is:")
适用于t
&gt; 1和不同的半径值。
但是当error 21: Invalid index
取0到1之间的值时,我得到t
。
我也需要处理这些值。我该如何处理?
答案 0 :(得分:1)
就这样,这在概述中显示为答案:
Scilab和MATLAB中的数组索引必须是正整数(或逻辑,但这绝对不是你想要的)。如果您需要t
在从0开始的范围内变化,请始终写x(t+1)
。如果需要非整数值,仍然迭代整数并从循环索引计算非整数值。