Matlab - Ayuda Cual es el error

 
Vista:

Ayuda Cual es el error

Publicado por Andres (1 intervención) el 21/10/2010 19:56:23
El profesor me envio este ejercicio como ejemplo para desarrollar otros el problema es que arroja el siguiente error:

METODO DE BISECCION

??? Error using ==> run
Undefined function or variable 'func'.

¿Se tiene que definir alguna función, si es asi donde? o el programa tiene que pedirla, y si ees asi cuales son los comandos para que el programa la pida? (mi conocimiento de matlab es nulo) Tuve nada mas 2 clases. Porfa es para mañana.

Este es el algoritmo:

% Se encuentra un cero de la función "func" en el intervalo [a,b] por el Método de Bisección
clc
clear
fprintf('\n METODO DE BISECCION \n\n');
% eps=input('Tolerancia: ');
% N=input(''Número máximo de iteraciones: ');
eps=10^-8;
N=100;
n=1;
a=0;
b=10;
error=b-a;
fa=func(a);
fb=func(b);
if sign(fa)==sign(fb) % chequeo inicial
fprintf('No se cumple condición f(a)*f(b)<0 \n\n');
break;
end
% Búsqueda iterativa
while (error>eps & n < N)
c = (a+b)/2
fc = func(c)
mat(n,1)=a;
mat(n,2)=c;
mat(n,3)=b;
mat(n,4)=fc;
if (fc==0)
error=0;
break;
end
if (sign(fa)~= sign(fc))
b = c; fb = fc;
else
a = c; fa = fc;
end
error=abs((a-b)/2);
n = n + 1;
end
disp(['La raíz calculada es ',num2str(c)]);
disp(['El número de iteraciones es ',num2str(n)]);
disp(['El error es ',num2str(error)]);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda Cual es el error

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/10/2018 18:53:19
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
33
34
35
36
37
38
39
40
41
42
clc
clear
fprintf('\n METODO DE BISECCION \n\n');
% eps=input('Tolerancia: '); 
% N=input(''Número máximo de iteraciones: ');
syms x
func(x)=exp(x)-2;
eps=10^-8; 
N=100; 
n=1; 
a=0; 
b=10; 
error=b-a; 
fa=func(a); 
fb=func(b);
if sign(fa)==sign(fb) % chequeo inicial 
fprintf('No se cumple condición f(a)*f(b)<0 \n\n');
return;
end
% Búsqueda iterativa 
while (error>eps && n < N)
c = (a+b)/2 ;
fc = func(c) ;
mat(n,1)=a;
mat(n,2)=c;
mat(n,3)=b;
mat(n,4)=fc;
if (fc==0)
error=0;
break;
end
if (sign(fa)~= sign(fc))
b = c; fb = fc;
else
a = c; fa = fc;
end
error=abs((a-b)/2);
n = n + 1;
end
disp(['La raíz calculada es ',num2str(c)]);
disp(['El número de iteraciones es ',num2str(n)]);
disp(['El error es ',num2str(error)])



1
2
3
4
5
>> biseccion12
 METODO DE BISECCION
La raíz calculada es 0.69315
El número de iteraciones es 30
El error es 9.3132e-09


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar