Indexing through an array

조회 수: 1 (최근 30일)
Austin Shipley
Austin Shipley 2020년 11월 17일
댓글: Austin Shipley 2020년 11월 17일
This program is designed to approximate cubed roots based on user input values of the number they want to approximate and their estimate. The loop iterates until the error is less than 1e-9.
I am trying to store all of my estimate values into a vector array and plot them on a graph, but I keep getting an error saying that my index values exceed the array elements. Any clarification about how to resolve this issue would be greatly appreciated.
num = input('Enter a number you would like to find the cubed root of: ')
est = input('Enter your initial estimate: ')
err = abs(num - est.^3)
est(1) = est
k = 2;
while err > 1e-9
est(k+1) = (1/3)*(2.*est(k)+num./est(k.^2));
err = abs(num - est(k.^3));
k = k + 1;
end
plot(1:length(est),est)
fprintf('The cubed root of %g is approximately %.3f',num,est)

채택된 답변

David Hill
David Hill 2020년 11월 17일
num = input('Enter a number you would like to find the cubed root of: ');
est = input('Enter your initial estimate: ');
err = abs(num - est^3);
k = 2;
while err > 1e-9
est(k) = (1/3)*(2*est(k-1)+num./(est(k-1)^2));
err = abs(num - est(k)^3);
k = k + 1;
end
plot(1:length(est),est);
fprintf('The cubed root of %g is approximately %.3f',num,est(end));
  댓글 수: 1
Austin Shipley
Austin Shipley 2020년 11월 17일
That worked perfectly! Thank you so much! I never really thought to tweak the array indices since that was a provided formula in my homework.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by