Loop structure for fixed point.

1 visualización (últimos 30 días)
형석 김
형석 김 el 16 de Abr. de 2021
Comentada: 형석 김 el 17 de Abr. de 2021
Hello, I have problem with Loop structure for fixed point.
This is the problem, and i made code like this.
It only caculates 1 time and just stops. Which mean, it's not repeating my code, xb=x; and x=sqrt(1.8*x+2.5)
if i manually repeat xb=x; and x=sqrt(1.8*x+2.5) the answer is correct, however it's not repeating those code.
What's wrong about my loop and How to fix it?
  5 comentarios
Rik
Rik el 17 de Abr. de 2021
How large is that difference? And what is the code you're currently using? And what results are you expecting?
형석 김
형석 김 el 17 de Abr. de 2021
Editada: 형석 김 el 17 de Abr. de 2021
@Rik The value of x i got is 2.7892, and the correct answer when I calculated manually is 2.7424. I've also calculated error when x=2.7892 manually, but error sllightly exceeds 0.05, which is (2.9333-2.7892)/2.78792=0.05166.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 17 de Abr. de 2021
and the correct answer when I calculated manually is 2.7424
No it is not. The correct answer is 2.71934053986603
format long g
roots([-1 1.8 2.5])
You tried the transform
-x^2 + 1.8*x + 2.5 == 0
implies 1.8*x + 2.5 == x^2
implies sqrt(1.8*x + 2.5) == sqrt(x^2)
and you deduced from that that
x == sqrt(1.8*x + 2.5)
but that is not correct. sqrt(x^2) is not x: it is abs(x) . So
abs(x) == sqrt(1.8*x + 2.5)
and you should be working both branches of that.
I suggest that you instead
-x^2 + 1.8*x + 2.5 == 0
implies 1.8*x == x^2 - 2.5
implies x == (x^2 - 2.5)/1.8

Más respuestas (0)

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by