Matlab - Restar un numero ingresado por teclado a una funcion declarada por teclado, inline

 
Vista:
sin imagen de perfil

Restar un numero ingresado por teclado a una funcion declarada por teclado, inline

Publicado por Bruno (2 intervenciones) el 06/12/2015 19:58:40
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
clc;
clear all;
 
f = input ('Ingrese la funcion representativa: ');
syms x;
 
x = input ('Ingrese el monto: ');
f = f-x;
 
F = inline (f);
 
dx = diff (f,x);
dX = inline (dx);
 
tol = input ('Tolerancia: ');
error = 10;
i = 0;
 
while (error > tol)
    if (x>0)
        F = F-x;
    else
        F = F+x;
    end
    x = x - F(x)/dX(x);
    error = abs(F(x));
    i = i+1;
end
 
fprintf ('El valor pagado corresponde a %1.6f horas',x);

Como puedo hacer que el monto ingresa en x sea restado con el polinomio ingresado en f ?
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

Restar un numero ingresado por teclado a una funcion declarada por teclado, inline

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/12/2015 20:20:59
No puede hacer eso:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> f=x^2+5*x+6
 
f =
 
x^2 + 5*x + 6
 
>> F=inline(f)
 
F =
 
     Inline function:
     F(x) = x.*5.0+x.^2+6.0
 
>> G=F-x
Undefined function 'minus' for input arguments of type 'inline'.
 
>> G=F-6
Undefined function 'minus' for input arguments of type 'inline'


Explica en detalle que es lo quieres hacer. Porque en tu codigo hay muchas lineas con errores. Errores que no puedo porque nose exactamente que es lo quieres hacer.


Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación en Matlab.
Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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
sin imagen de perfil

Restar un numero ingresado por teclado a una funcion declarada por teclado, inline

Publicado por Bruno (2 intervenciones) el 06/12/2015 20:31:04
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
clc;
clear all;
% En esta linea pido al usuario que ingrese la funcion entre ''
% (1000*x^4/3)+(5000*x^3/3)+(8750*x^2/3)+(8750*x/3)+3000'

f = input ('Ingrese la funcion: ');
syms x;
F = inline (f);

dx = diff (f,x);
dX = inline (dx);

n = input ('Ingrese numero de iteracion: ');
% Esta x = 9250 quiero que el usuario ingrese y sea restado con la funcion
% ingresada por el usuario
% F = (1000*x^4/3)+(5000*x^3/3)+(8750*x^2/3)+(8750*x/3)+3000' - 9250
% Esto es lo que quiero conseguir y luego aplicarle el metodo de newton
% raphson
x = 9250;
i = 0;
while (i<n)
    if (i>0)
        % A partir de aca realizar el metodo Newton Raphson con la funcion nueva   
        x = x - F(x)/dX(x);
    else
        x = x - F(x)/dX(x);
    end
    i = i+1;
end
 
fprintf ('El valor es: %1.6f ',x);

Se entiende ?
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

Restar un numero ingresado por teclado a una funcion declarada por teclado, inline

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/12/2015 20:54:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear all;
syms x;
f = input('Ingrese la funcion representativa: ');
x1 = input('Ingrese el monto: ');
f = f-x1;
F = inline(f);
dx = diff(f,x);
dX = inline(dx);
tol = input ('Tolerancia: ');
error = 10;
while error > tol
    x1 = x1 - F(x1)/dX(x1);
    error = abs(F(x1));
end
 
fprintf ('El valor pagado corresponde a %1.6f horas',x1);


1
2
3
4
5
>> funcion
Ingrese la funcion representativa: (1000*x^4/3)+(5000*x^3/3)+(8750*x^2/3)+(8750*x/3)+3000
Ingrese el monto: 9250
Tolerancia: 0.001
El valor pagado corresponde a 0.886902 horas>> 
1
 


Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación en Matlab.
Toda ayuda gratuita es vía foro
.

http://matlabcaballero.blogspot.com
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