Octave 小倍频程程序中的索引越界错误
这是代码,它只是根据两个输入x和y计算两个输出Octave 小倍频程程序中的索引越界错误,octave,Octave,这是代码,它只是根据两个输入x和y计算两个输出 function [nextX, nextY]=newton(x,y) nextX= x-((6*(x^2)*(y^2)*(x+y)-9*(y^2)((y^3)+14)-2*(x^2)*(5*(x^2)-69))/(x*y*(18*x*y+20))); nextY= y-((10*(x^4)+18*x^2*(y^3)-414*(x^2)+30*x*(y^2)-420*x)/(x*y*(18*x*y+20))); end [x,y]=newt
function [nextX, nextY]=newton(x,y)
nextX= x-((6*(x^2)*(y^2)*(x+y)-9*(y^2)((y^3)+14)-2*(x^2)*(5*(x^2)-69))/(x*y*(18*x*y+20)));
nextY= y-((10*(x^4)+18*x^2*(y^3)-414*(x^2)+30*x*(y^2)-420*x)/(x*y*(18*x*y+20)));
end
[x,y]=newton(1,1)
我明白了
每当我尝试运行它时,我都是八度音阶的新手,我真的看不出我在这里做错了什么。您的代码中有一个非常简单的错误(可能是输入错误):
nextX= x-((6*(x^2)*(y^2)*(x+y)-9*(y^2)((y^3)+14)-2*(x^2)*(5*(x^2)-69))/(x*y*(18*x*y+20)));
^
两个括号之间没有运算符,所以倍频程假设您正试图通过向量/矩阵的索引获取该元素,因此将索引抛出界限异常
您可能希望将两个值相乘:
nextX= x-((6*(x^2)*(y^2)*(x+y)-9*(y^2)*((y^3)+14)-2*(x^2)*(5*(x^2)-69))/(x*y*(18*x*y+20)));
我正在运行代码,谢谢,我当时真的很困惑。
nextX= x-((6*(x^2)*(y^2)*(x+y)-9*(y^2)*((y^3)+14)-2*(x^2)*(5*(x^2)-69))/(x*y*(18*x*y+20)));