SoloCodigo
		Programación Específica => Diseño de Algoritmos => Mensaje iniciado por: like en Miércoles 21 de Octubre de 2009, 20:42
		
			
			- 
				Soy nuevo en esto y necesito una ayuda, tengo un problema con ese código me manda un error de hace falta variable o funcion, no se que hacer, si me pueden ayudar se los agradezco.. saludos
 Este es el código:
 
 %Algoritmo del método de bisección
 %Métodos Numéricos
 clear
 clc
 I=0
 fprintf ('nntt Método de bisección de ecuaciones no lineales: nn')
 a=input('Introducir intervalo de a:''a','b','t')
 b=input('Introducir intervalo de b:')
 t=input('Introducir la tolerancia:')
 f=input('Introducir función a ejecutar:','s')
 eval (f)
 while I=0
 I=1
 xm=(a+b)/2
 if f(a), f(xm) < 0
 b=xm
 else
 a=xm
 end
 if I=1
 xprevio=xm
 I=I+1
 else
 tol=abs(xm-xprevio/xm)*100
 if tol >=1
 fprintf ('La raiz es:',xm)
 else I=1
 xprevio=xm
 end
 end
 end;
- 
				Soy nuevo en esto y necesito una ayuda, tengo un problema con ese código me manda un error de hace falta variable o funcion, no se que hacer, si me pueden ayudar se los agradezco.. saludos
 Este es el código:
 
 %Algoritmo del método de bisección
 %Métodos Numéricos
 clear
 clc
 I=0
 fprintf ('nntt Método de bisección de ecuaciones no lineales: nn')
 a=input('Introducir intervalo de a:''a','b','t')
 b=input('Introducir intervalo de b:')
 t=input('Introducir la tolerancia:')
 f=input('Introducir función a ejecutar:','s')
 eval (f)
 while I=0
 I=1
 xm=(a+b)/2
 if f(a), f(xm) < 0
 b=xm
 else
 a=xm
 end
 if I=1
 xprevio=xm
 I=I+1
 else
 tol=abs(xm-xprevio/xm)*100
 if tol >=1
 fprintf ('La raiz es:',xm)
 else I=1
 xprevio=xm
 end
 end
 end;
 no te puedo ayudar porque no tengo ni idea de que lenguaje es este ni acabo de entender muy bien el algoritmo, pero te hago una pregunta por pura curiosidad:
 tienes puesto:
 while I=0
 I=1
 ¿como se diferencia una asignacion de una igualdad?
 
 y esto, que hace?
 if f(a), f(xm) < 0
 que es f() ?
 
 
 y finalmente
 a=input('Introducir intervalo de a:''a','b','t')
 abusando de mi ignorancia, no faltaria una coma en los parametros? es decir
 a=input('Introducir intervalo de a:'    ,    'a','b','t')
- 
				Disculpa tienes razón, tiene un monton de errores, el lenguaje es en matlab, aqui lo copio otra vez, mi problema es que manda un error que hace falta la funcion o variable.
 
 %Algoritmo del método de Bisección
 clc
 disp('nntt Método de bisección de ecuaciones no lineales: nn');
 %Introducir la funcion a utilizar f(x)
 f=input('Introduzca la función:','s');
 %Hacemos peticion al usuario de introducir los valores de los intervalos
 intervaloa=input('Introducir valor de a:');
 intervalob=input('Introducir valor de b:');
 %Petición de la tolerancia
 e=input('Introducir valor de la tolerancia:');
 %Valores iniciales
 I=0;
 %Asignamos para ver si la funcion es valida o no
 x=intervaloa;
 a=eval (f);
 x=intervalob;
 b=eval (f);
 while I=0
 I=1;
 xm=(a+b)/2
 if
 %f(a) f(Xm) >0 entonces
 f(a);f(xm) > 0
 b=xm
 else
 a=xm
 %FinSi
 end
 %Si I=1
 if I=1
 xprevio=xm
 I= I+1
 %Sino
 else
 e=abs(xm-xprevio/xm)*100
 disp('El error aproximado es:','e');
 %Si  Tol<valor entonces
 if e < 1
 %Imprimir “la raíz es:”,xm
 disp('La raiz es:','xm');
 %Sino I=1
 else I=1
 xprevio=xm
 %FinSi
 end
 %Fin hacer
 end
 %Fin
 end;