Matlab - NO PUEDO CORRER UNA FUNCION DE MEODOS NUMERICOS..AYUDA

 
Vista:
sin imagen de perfil

NO PUEDO CORRER UNA FUNCION DE MEODOS NUMERICOS..AYUDA

Publicado por Daniel (1 intervención) el 05/05/2017 15:47:58
LES DESCRIBO EL CASO:

codigo-del-metodo
la imagen 'codigo del metodo' , pues es el codigo en matlab del metodo de aproximacion de raices de punto fijo

y la segunda imagen 'scrip de la funcion a evaluar'

scrip-de-la-funcion-a-evaluar

es donde tengo el problema pues el libro de donde saque esto dice que primero genere la la funcion a evaluar en formato .m, y definida como funcion. luego asignar los parametros que requiere el metodo en la hoja de trabajo. Pero al hacer eso me bota el error con el comentario de que hace falta mas parametros de entrada en la funcion a evaluar. Porfavor si me pueden ayudar se los agradeceria
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

NO PUEDO CORRER UNA FUNCION DE MEODOS NUMERICOS..AYUDA

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 05/05/2017 18:23:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function [k, p, err, P]=puntofijo(p0,tol, max1)
P(1)=p0;
for k=2:max1
    P(k)=feval(@fun1,P(k-1));
    err=abs(P(k)-P(k-1));
    relerr=err/(abs(P(k))+eps);
    p=P(k);
    if err<tol ||  relerr<tol , break, end
end
if k==max1
    disp('se ha excedido el número maximo de iteraciones')
end
P=P';

function g=fun1(x)
g=sqrt(2*x+3);

1
2
3
4
5
6
7
8
9
10
11
12
13
>> p0=4; tol=0.01; max1=100;  [k, p, err, P]=puntofijo(p0,tol, max1)
k =
     5
p =
    3.0114
err =
    0.0229
P =
    4.0000
    3.3166
    3.1037
    3.0344
    3.0114


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

NO PUEDO CORRER UNA FUNCION DE MEODOS NUMERICOS..AYUDA

Publicado por Juan (1 intervención) el 05/02/2022 02:38:11
Como hago para que ese mismo codigo me pueda leer cualquier funcion?
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
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

NO PUEDO CORRER UNA FUNCIÓN DE MÉTODOS NUMERICOS. AYUDA

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 05/02/2022 18:13:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function [k, p, err, P]=puntofijooctave(g,p0,tol, max1)
  fid=fopen('funcion_octave.m','w+');
    fprintf(fid,'function y=funcion_octave(x)\n');
    fprintf(fid,'y=%s;',g);
  fclose(fid);
P(1)=p0;
for k=2:max1
    P(k)=feval(@funcion_octave,P(k-1));
    err=abs(P(k)-P(k-1));
    relerr=err/(abs(P(k))+eps);
    p=P(k);
    if err<tol ||  relerr<tol , break, end
end
if k==max1
    disp('se ha excedido el número maximo de iteraciones')
end
P=P';


1
2
3
4
5
6
7
8
9
10
11
>> g='sqrt(2*x+3)'; p0=4; tol=0.01; max1=100;  [k, p, err, P]=puntofijooctave(g,p0,tol, max1)
k = 5
p = 3.0114
err = 0.022945
P =
 
   4.0000
   3.3166
   3.1037
   3.0344
   3.0114


Saludos
JOSE JEREMIAS CABALLERO
Asesoría Online en Proyectos con Matlab
Asesorías online en Métodos Numéricos con Matlab, Octave, Scilab, Freemat, Java, Visual Studio Code, Python, google colab, Excel y C++
Asesorías online por zoom, meet, teams y skype.
[email protected]


https://programacioncaballero.blogspot.com
https://www.facebook.com/programacioncaballero
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