Matlab - Todos los puntos de corte de dos gráficas

 
Vista:
sin imagen de perfil

Todos los puntos de corte de dos gráficas

Publicado por Harrison (3 intervenciones) el 16/03/2014 05:48:27
Cordial saludo:
Tengo las siguientes dos ecuaciones con las siguientes instrucciones:
syms x y

f1 =

125 - 22000000*y*exp(-11000000/(1987*x)) - (5*y)/2

f2 =

(6681741979062857*y*exp(-11000000/(1987*x)))/134217728 - (20*x)/7 + 5960/7

>> [A,B]=solve(f1,f2,y,x)

A =

41.74952788866240862151828211239


B =

314.33593478044843058012785012092

Entiendo que (A,B) es un punto de corte de las dos funciones, lo malo es que estoy seguro que las dos funciones tienen tres puntos de corte. Los otros dos que faltan es cuando y=11.8307 y cuando y=29.8189.. La pregunta es:

¿Que instrucción existe o procedimiento a realizar para encontrar en total los tres punto de corte?
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
sin imagen de perfil

Todos los puntos de corte de dos gráficas

Publicado por Harrison (3 intervenciones) el 17/03/2014 13:44:54
Gracias por su ayuda...

La verdad es que esas dos ecuaciones pertenecen a un ejercicio de una planta de control electrónico, el profesor nos puso la guía y sólo nos dijo que habían tres puntos de operación en esa planta. No tengo más información.

Ahora, no soy experto en Matlab y no pude hacer las gráficas allí, pero si logré las gráficas de las dos ecuaciones en Derive y efectivamente aparecen tres puntos de corte: (314.3359, 41.74); (337.95, 29.81) y (373.57, 11.83).

Cualquier método o fórmula que usted me puede proponer será válido. Mil gracias
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

Todos los puntos de corte de dos gráficas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 17/03/2014 22:10:33
Usa fsolve().
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
>> R=ezplot2([5 5])
 
Equation solved.
 
fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.
 
<stopping criteria details>
 
 
R =
 
  314.3359   41.7495
 
 
R =
 
  314.3359   41.7495
 
>> R=ezplot2([380 30])
 
Equation solved.
 
fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.
 
<stopping criteria details>
 
 
R =
 
  373.5753   11.8307
 
 
R =
 
  373.5753   11.8307
 
>> R=ezplot2([340 30])
 
Equation solved.
 
fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.
 
<stopping criteria details>
 
 
R =
 
  337.9586   29.8189
 
 
R =
 
  337.9586   29.8189



Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

Todos los puntos de corte de dos gráficas

Publicado por Harrison (3 intervenciones) el 18/03/2014 04:14:57
Gracias por su tiempo. Le comento que he creado el archivo con extensión eqreactor.m con el siguiente código:

function F=eqreactor(z)
y=z(1);
x=z(2);
F(1)=125 - 22000000*y*exp(-11000000/(1987*x)) - (5*y)/2;
F(2)=(6681741979062857*y*exp(-11000000/(1987*x)))/134217728 - (20*x)/7 + 5960/7;
end

En la ventana de comandos estoy digitando lo siguiente:

>> guess=[5 5];
>> [result,fval,exit.output]=fsolve(@eqreactor,guess)

Sin embargo aparece el siguiente error:

Error using feval
Undefined function 'eqreactor' for input arguments of type 'double'.

Error in fsolve (line 241)
fuser = feval(funfcn{3},x,varargin{:});

Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.


También he utilizado los comando:

guess=[5 5];
result=fsolve(@eqreactor,guess)

Y sucede el mismo error. Usted me podría indicar porque pasa eso. Gracias...quedo muy atento
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