error: value on right hand side of assignment is undefined
Publicado por benjamin (17 intervenciones) el 11/11/2020 21:11:27
Hola buenas, tengo que hacer un metodo de biseccion pero cuando hago run me tira una cierta cantidad de resultados y luego el error "error: value on right hand side of assignment is undefined", como puedo solucionarlo?
El codigo esta hecho en Octave y tengo otro codigo donde tengo solo la funcion que uso que es:
Y este es el codigo que recibe todo lo anterior y lo ejecuta:
Si alguien me puede decir que debo agregar o eliminar seria de mucha ayuda.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function sol=biseccion(f,a,b,tol,N)
i=1;
a(1)=a;
b(1)=b;
x(1)=(a(1)+b(1))/2;
if f(a(1))*f(x(1))<0
a(2)=a(1);
b(2)=x(1);
else
a(2)=x(1);
b(2)=b(1);
endif
x(2)=(a(2)+b(2))/2;
while abs(x(i+1)-x(i))>tol && i<=N
if f(a(i+1))*f(x(i+1))<0
a(i+2)=a(i+1);
b(i+2)=x(i+1);
else
a(i+2)=x(i+1);
b(i+2)=b(i+1);
endif
x(2+i)=(a(2+i)+b(2+i))/2;
i=i+1;
endwhile
endfunction
El codigo esta hecho en Octave y tengo otro codigo donde tengo solo la funcion que uso que es:
1
2
3
function y = f(x)
y = 0.487*(sin (x))*(cos (x))+2.197*((sin (x))^2)-0.263*(cos (x))-1.189*(sin (x))
endfunction
Y este es el codigo que recibe todo lo anterior y lo ejecuta:
1
2
3
4
5
6
7
8
9
10
11
12
clc
clear
close all
f=@f;
a=0;
b=1;
N = 50;
tol = 10^-5;
sol = biseccion(f,a,b,tol,N)
Si alguien me puede decir que debo agregar o eliminar seria de mucha ayuda.
Valora esta pregunta


0