acoplamiento y desacoplamiento difuso de sistemas regulares

124
S.E.P. S.E.S. D.G.E.S.T. INSTITUTO TECNOLÓGICO DE AGUASCALIENTES Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares T E S I S Para Obtener el Grado de: Maestro en Ciencias en Ingeniería Eléctrica PRESENTA: “Ing. Jorge Alejandro Delgado Aguiñaga” Asesores: Dr. Jorge Luis Orozco Mora Dra. Elvia Ruiz Beltrán Aguascalientes, Ags., Julio de 2012.

Upload: jorge-delgado

Post on 02-Dec-2015

250 views

Category:

Documents


17 download

DESCRIPTION

Desacoplamiento de un sistema de tuberías en paralelo con un Controlador Proporcional Difuso.

TRANSCRIPT

Page 1: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

S.E.P. S.E.S. D.G.E.S.T.

INSTITUTO TECNOLÓGICO DE AGUASCALIENTES

“Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares”

T E S I S

Para Obtener el Grado de:

Maestro en Ciencias en Ingeniería Eléctrica

PRESENTA:

“Ing. Jorge Alejandro Delgado Aguiñaga”

Asesores:

Dr. Jorge Luis Orozco Mora

Dra. Elvia Ruiz Beltrán

Aguascalientes, Ags., Julio de 2012.

Page 2: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares
Page 3: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

Oficio de autorización de impresión de la

División de Estudios de Posgrado e Investigación

Page 4: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares
Page 5: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares
Page 6: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

i

S.E.P. S.E.S. D.G.E.S.T.

INSTITUTO TECNOLÓGICO DE AGUASCALIENTES

“Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares”

T E S I S

Para Obtener el Grado de:

Maestro en Ciencias en Ingeniería Eléctrica

PRESENTA:

“Ing. Jorge Alejandro Delgado Aguiñaga”

Asesores:

Dr. Jorge Luis Orozco Mora

Dra. Elvia Ruiz Beltrán

Aguascalientes, Ags., Julio de 2012.

Page 7: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

ii

RESUMEN: En esta tesis se estudian, la interacción de los sistemas multivariables

(múltiples entradas y salidas), como una de sus características más importantes, conocido

como el problema de acoplamiento, estudiado desde los años 60´s y que actualmente está

resuelto en forma general, el caso particular del desacoplamiento regular (mismo número

de entradas que salidas) y que aún no existe solución general para el caso no regular (mayor

número de entradas que salidas), solo algunos casos particulares por la dificultad

matemática que presenta, lo que hace importante su análisis, ya que en este trabajo el

enfoque de estudio del problema de acoplamiento se hace con los conceptos de la lógica

difusa. Con tal enfoque, se propone una solución al problema de acoplamiento para el caso

regular, el cual presenta una ventaja sobre el análisis matemático de las soluciones

existentes, pues la lógica difusa se basa en la utilización del conocimiento experto sobre el

sistema sin conocer el modelo matemático, y así es posible establecer un conjunto adecuado

de reglas heurísticas que consigan un objetivo de control que para esta tesis es el

desacoplamiento. También, se extienden los resultados para modificar el factor de

acoplamiento en forma deseada.

ABSTRACT: In this thesis is studied, the interaction of multivariable systems (multiple

inputs and outputs), as one of its most important features, known as the coupling problem,

studied since the 60s and now is solved in general, the decoupling case law (same number

of inputs than outputs) and there is still no general solution for the case is not regular (more

inputs than outputs), only some particular cases the mathematical difficulty it presents,

making it important their analysis, since in this work study approach to the problem of

coupling is done with the concepts of fuzzy logic. With this approach, we propose a

solution to the problem of coupling to the regular case, which presents an advantage over

the mathematical analysis of existing solutions, since fuzzy logic is based on the use of

expert knowledge about the system without knowing the model mathematician, and so you

can set an appropriate set of heuristic rules that achieve a control objective for this thesis is

the decoupling. Also extend the results to modify the coupling factor desired shape.

Page 8: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

iii

Agradecimientos

o A Dios por darme la oportunidad de realizar este proyecto.

o A mis padres Ma. Teresa y Ramiro, porque con sus enseñanzas he aprendido a ser

una persona de bien.

o A muy en especial mi madre Ma. Teresa, ya que siempre se ha esforzado por que yo

sea una persona de bien y siempre me ha apoyado para superarme.

o A mis hermanas, Blanca y Laura por que siempre me han apoyado.

o A toda mi familia, en especial a mis abuelos, J. Guadalupe, Ma. Del Refugio, Juan y

María por sus buenos consejos de vida.

o A todos mis maestros, sobre todo a mi asesor el Dr. Jorge Luis Orozco Mora, por su

paciencia y dedicación, ya que mucho de lo aprendido en este proyecto se lo debo a

él.

o A la Dra. Elvia Ruíz Beltrán por su valiosa colaboración en el desarrollo de esta

investigación.

o A todos mis compañeros, en especial a José Alfredo Jáuregui, Efraín Ramírez, y

Sergio Eduardo Luna, pues ellos me ayudaron siempre en mi aprendizaje diario.

o Al Instituto Tecnológico de Aguascalientes, porque me ha abrió sus puertas para

superarme.

o Al CONACYT, por la beca que me brindo durante este proyecto de maestría.

o A todos ustedes, muchas gracias…

Jorge Alejandro Delgado Aguiñaga

Page 9: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

iv

Í N D I C E G E N E R A L

Resumen.

Capítulo 1. Introducción .................................................. ¡Error! Marcador no definido.

1.1 Descripción del problema ....................................................................................... 2

1.2 Objetivos ................................................................................................................. 2

1.2.1 Objetivo general ............................................................................................. 2

1.2.2 Objetivos particulares ..................................................................................... 2

1.3 Hipótesis ................................................................................................................. 3

1.4 Justificación ............................................................................................................ 3

1.5 Estado del arte ........................................................................................................ 4

1.6 Publicaciones obtenidas y sometidas ...................................................................... 7

Capítulo 2. Acoplamiento de sistemas multivariables ...................................................... 9

2.1 Desacoplamiento por retroalimentación de estados. ............................................ 10

2.1.1 Teorema de Falb y Wolovich, sin asignación de modos. ............................. 10

2.1.2 Teorema de Falb y Wolovich, con asignación de modos. ............................ 16

2.2 Factor de acoplamiento. ........................................................................................ 19

2.2.1 Ganancia relativa. ......................................................................................... 21

Capítulo 3. Lógica difusa ................................................................................................ 24

3.1 Conjuntos difusos ................................................................................................. 24

3.1.1 Propiedades de los conjuntos difusos ........................................................... 30

3.1.2 Operaciones entre conjuntos difusos ............................................................ 32

3.2 Principios de la lógica difusa ................................................................................ 34

3.2.1 Reglas de implicación ................................................................................... 36

3.3 Reglas de mapeo funcional ................................................................................... 37

3.3.1 Mapeando una subregión difusa a un modelo local ..................................... 38

3.4 Defuzificación ...................................................................................................... 39

3.4.1 Métodos de defuzificación............................................................................ 40

3.5 Método difuso basado en reglas para aproximación de funciones ....................... 42

3.5.1 El modelo Mamdani ..................................................................................... 40

Capítulo 4. Resultados sobre el desacoplamiento y cambio en el factor de acoplamiento

difuso del sistema de tuberías en paralelo ............................................................................ 44

4.1 Interés y utilización de la lógica difusa para el control ........................................ 44

4.1.1 Interés. .......................................................................................................... 44

4.1.2 Utilización para el control. ........................................................................... 45

4.1.3 La capitalización del saber hacer. ................................................................. 45

4.2 Caso de estudio ..................................................................................................... 46

4.3 Sistema de control difuso tipo Mamdani para el sistema de riego ....................... 51

4.3.1 Conjuntos difusos del CPD del sistema de riego. ......................................... 51

4.3.2 Mecanismo de inferencia del CPD. .............................................................. 54

4.3.3 Método de defuzificación del CPD. ............................................................. 57

4.4 Resultados obtenidos del CPD ............................................................................. 57

4.5 Factor de acoplamiento ......................................................................................... 62

4.5.1 Informe experto para el cambio del factor de acoplamiento. ....................... 62

4.6 Desacoplamiento de un sistema de riego por aspersión mediante un CPD .......... 66

Page 10: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

v

Capítulo 5. Conclusiones y trabajo a futuro .................................................................... 68

5.1 Conclusiones ......................................................................................................... 68

5.2 Trabajo a futuro .................................................................................................... 68

Referencias: 69

Anexo 1: “Programa en MATLAB para el desacoplamiento y cambio del factor de

acoplamiento del sistema de tuberías”, 73

Page 11: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

vi

ÍNDICE DE FIGURAS

Figura 2.1 Sistema de riego con 3 válvulas. ........................................................................... 9

Figura 2.2 Diagrama de bloques del sistema acoplado .......................................................... 9

Figura 2.3 Diagrama simplificado de un sistema lineal (MIMO) cuadrado desacoplado… 10

Figura 2.4 Diagrama del circuito RC. ................................................................................... 12

Figura 2.5 Representación en espacio de estados del sistema en MATLAB. ...................... 15

Figura 2.6 Entrada u1 al sistema… ....................................................................................... 15

Figura 2.7 Entrada u2 al sistema con una amplitud de 20 V y 1 rad/seg en frecuencia. ....... 16

Figura 2.8 Respuesta del sistema ante u1 y u2. ..................................................................... 16

Figura 2.9 Entrada u1 aplicada al sistema ............................................................................. 18

Figura 2.10 Entrada u2 aplicada al sistema ........................................................................... 18

Figura 2.11 Respuesta del sistema ante las entradas u1 y u2 con asignación de modos en -10

y -15. ............................................................................................................................. 18

Figura 2.12 Sistema multivariable de flujo de fluidos en tuberías en paralelo. ................... 19

Figura 2.13 Representación esquemática del sistema de tuberías en paralelo. .................... 20

Figura 2.14 Esquema de un proceso (MIMO) nxn. .............................................................. 20

Figura 2.15 Interacción de un sistema de 2X2. .................................................................... 21

Figura 3.1 Especificación del conjunto difuso en forma enumerativa en forma discreta. ... 27

Figura 3.2 Representación en forma intencional de un conjunto difuso. ............................. 28

Figura 3.3 Funciones de pertenencia del ejemplo 2. ............................................................ 29

Figura 3.4 Representación alternativa del ejemplo 2. .......................................................... 29

Figura 3.5 Representación alternativa del ejemplo 2. .......................................................... 30

Figura 3.6 Operación intersección de los conjuntos BAJO y MEDIANO de la Figura 3.3

empleando el mínimo. .................................................................................................. 32

Figura 3.7 Operación intersección de los conjuntos BAJO y MEDIANO de la Figura 3.3

empleando el producto.................................................................................................. 33

Figura 3.8 Operación unión de los conjuntos BAJO y MEDIANO de la Figura 3.3

empleando el máximo. .................................................................................................. 33

Figura 3.9 Operación complemento del conjunto BAJO de la Figura 3.3. .......................... 34

Figura 3.10 Operación AND. ............................................................................................... 35

Figura 3.11 Esquema para el mapeo funcional de las reglas, partición cartesiana............... 37

Figura 3.12 Esquema para el mapeo funcional de las reglas, partición difusa. .................... 37

Figura 3.13 Métodos de defuzificación LOM, MOM y SOM. ............................................ 40

Figura 3.14 Defuzificación por el método centroide. ........................................................... 41

Figura 3.15 Defuzificación por el método bisector. ............................................................. 41

Figura 3.16 Sistema difuso tipo Mamdani ........................................................................... 43

Figura 3.17 Variables de salida y defuzificación ................................................................. 43

Figura 4.1 Esquema del sistema de riego de tuberías en paralelo ........................................ 46

Figura 4.2 Circuito eléctrico análogo al sistema de referencia............................................. 47

Figura 4.3 Simulación del sistema de tuberías en paralelo en lazo cerrado con MATLAB 50

Figura 4.4 Sistema difuso tipo Mamdani ............................................................................. 51

Figura 4.5 Universo de discurso y conjuntos difusos para la demanda de gasto del sistema

...................................................................................................................................... 52

Figura 4.6 Universos de discurso y conjuntos difusos para la demanda de presión requerida

por el sistema ................................................................................................................ 53

Page 12: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

vii

Figura 4.7 Universos de discurso y conjuntos difusos para la demanda de gasto 1 ............. 53

Figura 4.8 Universos de discurso y conjuntos difusos para la apertura de la válvula 1 ....... 54

Figura 4.9 Gráfica generada por la base de las reglas de CPD, Gasto-Presión…………….55

Figura 4.10 Gráfica generada por la base de las reglas del CPD para el control de la

apertura de las válvulas................................................................................................. 56

Figura 4.11 Entradas variables de referencia para el gasto de las ramas paralelas .............. 57

Figura 4.12 Respuesta del experto ante la entrada de referencia.......................................... 58

Figura 4.13 Error de gasto para la tubería 1 ......................................................................... 58

Figura 4.14 Error de gasto para la tubería 2 ......................................................................... 59

Figura 4.15 Error de gasto para la tubería 3 ......................................................................... 59

Figura 4.16 Resultados del controlador CPD ....................................................................... 60

Figura 4.17 Demanda Gasto-Presión, determinados por el CPD ......................................... 60

Figura 4.18 Respuesta del experto y CPD ante las entradas de referencia ........................... 61

Figura 4.19 Entradas propuestas de referencia para los gastos en cada rama paralela, la cual

muestra un cambio en la entrada de referencia 1.......................................................... 62

Figura 4.20 Respuesta del experto ante los factores de acoplamiento propuestos ............... 63

Figura 4.21 Error de gasto para la tubería 1 ......................................................................... 63

Figura 4.22 Error de gasto para la tubería 2 ......................................................................... 64

Figura 4.23 Error de gasto para la tubería 3 ......................................................................... 64

Figura 4.24 Respuesta del Controlador Proporcional Difuso ante el factor de acoplamiento

...................................................................................................................................... 65

Figura 4.25 Demanda Gasto-Presión del sistema ................................................................. 65

Figura 4.26 Superficie de varios cultivos con diferentes necesidades de agua .................... 66

Page 13: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

viii

ÍNDICE DE TABLAS

Tabla 3.1 Correspondencia entre operadores de la Teoría de Conjuntos, el Álgebra Boleana

y la Lógica Tradicional ................................................................................................. 34

Tabla 4.1 Base de las reglas del CPD gasto-presión. ........................................................... 55

Tabla 4.2 Base de las reglas del CPD para la apertura de las válvulas ................................ 56

Page 14: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 1

Capítulo 1. Introducción

El comportamiento de un sistema dinámico se encuentra condicionado por las acciones que

se ejerzan sobre él. Esas acciones pueden ser ejercidas como acciones deseadas, a través de

variables manipuladas (válvulas, interruptores, relevadores, potenciómetros, calefactores,

ventiladores, etc.). Los efectos de esas acciones se pueden ver reflejados en una o más

variables del sistema (temperaturas, niveles, presiones, velocidades, concentraciones,

posiciones, entre otras) que bajo ciertas condiciones se desean mantener en un valor

determinado (variables controladas). Cuando en el sistema intervienen más de una variable

de entrada y una variable de salida, se trata de un sistema MIMO (Multiple Input Multiple

Output). En los sistemas MIMO está presente el problema de interacción o acoplamiento

entre las variables, ya que una entrada afecta a más de una salida, lo que hace difícil

controlar al sistema. Esta afectación quiere decir que las variables controladas se alejan de

su valor de referencia en virtud de cambios en las variables de entrada.

En general, para el problema de acoplamiento, el objetivo de la teoría de control es diseñar

estrategias que permitan manipular un conjunto de variables, de manera que se puedan

mantener las variables controladas en valores deseados a pesar de las perturbaciones

(acoplamiento en este caso) que puedan afectar al sistema, el caso en el cual una variable

manipulada afecta una sola variable controlada se le conoce como desacoplamiento.

El problema de desacoplamiento ha sido abordado desde diversos enfoques, pero en esta

tesis solo se profundizará sobre el enfoque lineal y difuso. El desacoplamiento de sistemas

lineales multivariables ha constituido uno de los problemas clásicos en la teoría de control.

De una manera sencilla, el desacoplamiento consiste en modificar un sistema dado, dotado

con un cierto número de variables de entrada y de salida tal que la acción de cada entrada

en lazo cerrado afecte una y sólo una salida, funcionando el sistema como múltiples

sistemas de una entrada una salida, para simplificar el control del sistema. Esta estructura es

deseable en un gran número de aplicaciones donde la interacción entre las variables

controladas y manipuladas hace complicado lograr algún objetivo de control.

Page 15: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 2

1.1 Descripción del problema

Se ha definido a un sistema MIMO, así como el problema de acoplamiento que presenta.

Varias soluciones al problema de desacoplamiento ya han sido presentadas para el caso

regular (mismo número de entradas que salidas), basadas en el modelo matemático, [2, 4, 8,

13, 17, 19, 23, 24], y aún sin resolverse está el caso no regular (diferente número de

entradas que salidas), en forma general basadas en el modelo matemático, solo algunas

soluciones particulares, [6, 7, 12]. Todos los enfoques que han abordado el problema de

desacoplamiento están basados en el modelo matemático, lo cual, para un sistema que

involucra gran cantidad de variables obtener el modelo resulta una tarea compleja. Así

mismo, el factor de acoplamiento es la forma en que una entrada afecta a las salidas del

sistema basado en el modelo matemático, y no existe una metodología para modificarlo en

forma preestablecida. Entonces, el problema que se busca resolver en esta tesis se expresa

de la siguiente forma: ¿De qué manera se puede proponer una solución al problema de

desacoplamiento mediante la Lógica Difusa sin contar con el modelo matemático?, así

mismo ¿Cómo se puede modificar el factor de acoplamiento de forma deseada sin el

modelo matemático?

1.2 Objetivos

1.2.1 Objetivo general

Analizar el acoplamiento de un sistema de tuberías en paralelo para un sistema de riego

proponiendo una forma de modificar el factor de acoplamiento, además se analizará bajo

qué condiciones el sistema se puede desacoplar con un controlador difuso.

1.2.2 Objetivos particulares

o Conocer la teoría básica para entender el acoplamiento de sistemas lineales.

o Caracterizar el factor de acoplamiento en el sistema considerado.

o Estudiar el desacoplamiento de sistemas regulares.

o Entender y aplicar la lógica difusa.

o Diseñar un controlador difuso para modificar el grado de acoplamiento del sistema.

Page 16: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 3

1.3 Hipótesis

Tomando en cuenta las ventajas de la teoría de la Lógica Difusa, ésta se aplicará al sistema

de tuberías en paralelo, considerado como multivariable acoplado y caso regular, para

lograr el desacoplamiento mediante un Controlador Difuso (CD), que a través del

conocimiento experto del sistema, se formularán un conjunto de reglas difusas para

desacoplarlo, prescindiendo de un modelo matemático.

Una vez propuesta una solución al desacoplamiento, se propondrá la forma de modificar el

factor de acoplamiento del sistema en forma deseada.

1.4 Justificación

El análisis y control de un sistema MIMO es complicado, ya que no es tan sencillo obtener

un modelo matemático preciso del sistema y se vuelve aún más difícil cuando la cantidad

de variables aumenta, además de que está presente el problema de acoplamiento lo cual

hace difícil lograr algún objetivo de control. Por tal razón, la principal ventaja de utilizar la

Lógica Difusa en el control del sistema, es que no es necesario obtener un modelo

matemático, sólo se requiere saber cómo funciona el sistema para conseguir el objetivo de

control que en este caso sería modificar el factor de acoplamiento o lograr el

desacoplamiento. Si es posible conseguir estos objetivos, se puede obtener un conocimiento

experto sobre el funcionamiento del sistema, lo cual permitirá diseñar un conjunto

adecuado de reglas difusas que puedan controlarlo y llevarlo a cumplir con los objetivos.

Es importante resaltar que aún no existe una metodología para modificar el factor de

acoplamiento de manera deseada.

Así mismo, al tratarse de un sistema real, se asume que se está tratando el problema de

desacoplamiento considerando al sistema como variante en el tiempo y no lineal, ya que

para este tipo de sistemas no están contemplados en la solución general dada en [2], pues

está condicionado para Sistemas Lineales Invariantes en el Tiempo. Y es importante

mencionar que de poco sirven las soluciones que restringen en gran medida las condiciones

reales de los sistemas.

Page 17: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 4

1.5 Estado del arte

En un sistema MIMO acoplado, las variables de entrada-salida interactúan entre sí hasta

cierto punto, lo que es conocido como el grado de interacción o factor de acoplamiento, el

cual se puede calcular para establecer la magnitud en que una entrada afecta a más de una

salida. Resultados sobre este tema son, [20, 33, 34], siendo el más significativo el propuesto

por Bristol, [34], el cual desarrolla un procedimiento para determinar la respuesta relativa

de cada variable controlada en un proceso, a cada variable manipulada. En método

caracteriza la magnitud y tipo de interacción que debe esperarse y su efecto sobre el

comportamiento del sistema, sin embargo no dice como modificar el grado de interacción a

una forma deseada.

Un caso particular del acoplamiento es cuando una variable de entrada afecta solo una

variable de salida y se le conoce como desacoplamiento, es decir, el factor de interacción

entre las variables se hace nulo. Publicaciones dedicadas al tema de desacoplamiento

abundan en la literatura, por ejemplo, [1-9, 12-14, 15, 17-19, 23, 24], por sólo citar algunas.

El problema de desacoplamiento está totalmente resuelto para el caso especial de sistemas

regulares invariantes en el tiempo, [2, 4, 8, 13, 17, 19, 24], pero no para el caso general de

desacoplamiento no regular, [6, 7, 12, 23], debido a la complejidad de las modificaciones

estructurales que se producen cuando se utiliza retroalimentación no regular.

El primer resultado importante concerniente al desacoplamiento regular mediante

retroalimentación estática de estado lo propuso P. L. Falb et al., [2]. Explicaron su resultado

en términos de la no singularidad de una matriz construida a partir de las matrices del

sistema, y de esta manera dieron las condiciones necesarias y suficientes para que exista

una retroalimentación estática de estado que desacople al sistema. Estos autores también

caracterizaron las clases de retroalimentaciones que desacoplan a un sistema y el número de

polos en lazo cerrado que pueden ser asignados. Sin embargo, las condiciones para

caracterizar estos polos, son difíciles de aplicar y no existe conexión entre estas condiciones

con la estructura del sistema.

Page 18: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 5

Morse et al.,[3], dieron otra aportación importante, estos autores generalizaron el problema

de desacoplamiento planteándolo en términos geométricos y obteniendo condiciones para la

solución de dos casos particulares: 𝑟𝑎𝑛𝑘 𝐶=𝑛 y 𝑟𝑎𝑛𝑘 𝐵=𝑘, donde C y B son la matrices de

salida y de entrada respectivamente, k es el número de bloques en la función de

transferencia en lazo cerrado y rank indica el rango de la matriz bajo análisis. Sus

soluciones están dadas en términos de la propiedades de R*, que es el máximo subespacio

de controlabilidad contenido en el Kernel de la matriz C.

Descusse et al., [5], interpretaron el resultado de Falb et al., [2], en términos de la estructura

del sistema, mostrando que la condición de desacoplamiento se reduce a una igualdad entre

la sumatoria de los órdenes de los ceros al infinito del sistema, y la sumatoria de los

órdenes de los ceros al infinito por filas.

Descusse et al., [6], creyeron dar la solución general al problema de desacoplamiento no

regular, pero luego A. N. Herrera et al., [14], demostraron que las condiciones presentadas

no eran suficientes.

Zagalak et al.,[13], propusieron la solución general para el problema de desacoplamiento no

regular utilizando un enfoque polinomial, sin embargo las condiciones que se propusieron

son implícitas y no son directamente comprobables, además dependen de la existencia de

una matriz bipropia que no se dice cómo encontrarla.

A. N. Herrera et al., [12], presentaron la solución general para el caso de desacoplamiento

no regular de sistemas con dos salidas, expresando su resultado en términos de la lista I2 de

Morse, y la información al infinito del sistema.

J.L. Orozco M., [23], propuso la solución de desacoplamiento no regular en el caso

particular de los sistemas decalados, es decir, los sistemas que tienen órdenes esenciales

iguales.

Page 19: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 6

El problema de desacoplamiento no regular sigue siendo un problema abierto, debido a que

tiene algunos otros problemas implícitos, como lo es la modificación de la estructura al

infinito, con retroalimentación de estado estática.

Para dar una solución al problema de desacoplamiento, con alguna de las técnicas

mostradas anteriormente, siempre es necesario obtener una representación matemática del

sistema, es decir, se tienen que conocer las ecuaciones dinámicas que aproximen en medida

de lo posible el comportamiento real del sistema. Sin embargo, esta tarea no siempre resulta

fácil para el diseñador, pues cuando en el sistema intervienen una gran cantidad de

variables, obtener una representación será una tarea difícil. Además deben considerarse las

características del sistema, es decir, si el sistema es no lineal o lineal, variante o invariante

en el tiempo.

Es importante mencionar que en los sistemas reales, la gran mayoría, presentan

comportamientos no lineales y también está siempre presente la variación en el tiempo.

Entonces, ante estas dificultades, se dice que las soluciones al problema de

desacoplamiento basadas en sistemas lineales invariantes en el tiempo, no muestran

totalmente una solución al problema de desacoplamiento para los sistemas reales. Por esta

razón, la lógica difusa, presenta una alternativa de solución al problema de

desacoplamiento, ya que esta teoría acerca más la forma de hacer diseño de control con la

forma de pensar humana a pesar de no contar con un modelo matemático y de no saber si el

sistema es no lineal, variante en el tiempo, etc. Así, si en un sistema real, existe un experto

en el manejo del mismo sin tener una representación matemática y además el experto sabe

cómo conseguir un comportamiento desacoplado, entonces, pueden plantearse un conjunto

de reglas heurísticas que logren este objetivo de desacoplamiento.

Hasta ahora, algunos trabajos de desacoplamiento con técnicas difusas ya han sido

presentados. El primer trabajo que abordó el problema de desacoplamiento con técnicas

difusas fue propuesto por Chen Wei Xu et al., [10], presentaron una solución al problema

de desacoplamiento a partir de una descripción de un sistema lineal en tiempo discreto, para

el cual es indispensable un modelado matemático del sistema. Trabajos posteriores,

Page 20: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 7

presentan soluciones al problema de desacoplamiento basado en lógica difusa como, [11,

16, 21, 26-29, 32], pero todos estos se basan en el modelado matemático del sistema y

además algunos se apoyan en técnicas del área de inteligencia artificial.

Por lo que en esta tesis se propone una solución al problema de desacoplamiento

prescindiendo del modelo matemático como tal, ya que aquí lo que se utiliza son los

principios básicos de continuidad y de pérdidas de carga para el sistema de referencia, que

son información básica que el experto debe conocer.

1.6 Publicaciones obtenidas y sometidas

Como resultado del trabajo desarrollado en esta tesis, se tiene hasta el momento las

siguientes publicaciones.

J. A. DelgadoA., J. L. Orozco M., E. Ruiz-Beltrán “Regular coupling and

decoupling fuzzy systems”, Poster, en CIIIEE 2010, 10 al 12 de Noviembre,

Aguascalientes, Ags. Mexico.

J. A. Delgado A., J. L. Orozco M., E. Ruiz-Beltrán and J. A. Calderón-Martínez,

“Desacoplamiento mediante un PD difuso aplicado a un sistema de tanques”, en 25

th Reunión de Verano de Potencia y Aplicaciones Industriales (2011). RVP-AI,

Acapulco, Guerrero, México, IEEE, Power Engineering Society and Industry

Aplications Conf., AI-25.

J. A. Delgado A., J. A. Jáuregui A.,E. Ramírez V., S. E. Luna C., J. L. Orozco M.,

“Aplicación del desacoplamiento regular a un circuito eléctrico”, en 13 th Reunión

de Otoño de Potencia, Electrónica y Computación, (2011). ROPEC, Morelia,

Michoacán, México, IEEE.

Page 21: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 8

Artículos sometidos a revisión:

J. A. Delgado A., J. L. Orozco M. and E. Ruiz-Beltrán, “Solución al problema de

desacoplamiento mediante un Controlador Proporcional Difuso de un sistema

regular de riego con tuberías en paralelo”, (2012), Revista: Ingeniería,

Investigación y Tecnología UNAM.

J. A. Delgado A., J. L. Orozco M. and E. Ruiz-Beltrán, “Partial decoupling using a

Fuzzy Proportional Controller FPC of a regular system: case parallel pipelines”,

(2012).

Page 22: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 9

Capítulo 2. Acoplamiento de sistemas multivariables

Como se ha mencionado, la característica más importante de un sistema MIMO son

acoplamientos o interacciones entre sus variables, es decir, una variable de entrada puede

afectar a todas las variables de salida. Por ejemplo, en un sistema de tuberías en paralelo

está presente el acoplamiento ya que al modificar la apertura de una válvula, los flujos en

cada rama paralela se ven afectados de forma no determinada, pues este tipo de sistemas

cumplen con el principio de continuidad, ver Figura 2.1

Figura 2.1 Sistema de riego con 3 válvulas.

Un sistema acoplado con 2 entradas y 2 salidas, se puede representar con el diagrama de

bloques que se muestra en la Figura 2.2.

Figura 2.2 Diagrama de bloques del sistema acoplado.

Page 23: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 10

Cualquier entrada aplicada a un elemento tiene efectos en la salida de varios elementos. El

problema de desacoplamiento es clásico en la teoría del control, éste ha sido resuelto en su

totalidad en términos matemáticos para el caso regular [2, 4, 8, 13, 17, 19, 23, 24] y algunos

casos particulares del caso no regular, [6, 7, 12]. En términos sencillos el desacoplamiento

de un sistema lineal MIMO consiste en hacer que dicho sistema se comporte como muchos

sistemas SISO, ver figura 2.3

Figura 2.3 Diagrama simplificado de un sistema lineal (MIMO) cuadrado desacoplado.

Esto es ideal en sistemas muy grandes puesto que el estudio del mismo se realizaría en

bloques simples de una salida una entrada.

2.1 Desacoplamiento por retroalimentación de estados

2.1.1 Teorema de Falb y Wolovich, sin asignación de modos

Una de las soluciones al problema de desacoplamiento fue introducida en 1967 por Falb y

Wolovich [2] el cual formula una retroalimentación de estado y un cambio en las entradas

que permite alcanzar el desacoplamiento en forma de integradores mediante la siguiente ley

de control, mostrada en la Ec. 2.1:

)()()( tGvtFxtu Ec. 2.1

Considere la siguiente representación del sistema.

)()(

)()()(

tCxty

tButAxtx

Ec. 2.2

Page 24: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 11

Donde x es un n vector llamado de estado, u un m vector de entrada, y un m vector de

salida, y A, B y C, son nxn, nxm, y mxn matrices respectivamente. Se asume que m≤n Si F

es una matriz mxn y G una matriz no singular mxm entonces la sustitución de Ec. 2.1 donde

v representa el nuevo m vector de control se conocerá como retroalimentación de estado.

Por simplicidad el sistema descrito en la Ec. 2.2, se citará como (A, B, C).

La metodología para el diseño de la retroalimentación de estado para desacoplar (A, B, C)

es encontrar la ley de control descrita en Ec. 2.1, tal que la matriz de transferencia sea una

diagonal de integradores. En el teorema 1 se establecen las condiciones para obtener el

desacoplamiento del sistema (A, B, C), [2].

Teorema 1.- El problema de desacoplamiento estático por retroalimentación de estado

tiene solución si y sólo si:

a) El par [A, B] es estabilizable

b) El rango [A B;C D] = n + m

Supóngase que las condiciones (a) y (b) en Teorema 1 se cumplen, por tanto el problema

tiene solución. Se parte de la siguiente manera: Si (A, B) es inestable, diséñese un K tal que

el sistema de retroalimentación de estado sea estable, es decir, el determinante de (sI - A +

BK) tenga todas sus raíces en el semiplano izquierdo.

Una vez estabilizado el sistema (A, B, C), diséñese la retroalimentación de estado tal que el

sistema en lazo cerrado tenga una función de transferencia de la forma:

BGBF)AC(sIT 1FG

Ec. 2.3

Tal que TFG está desacoplada. Donde F se construye como:

** 1 ABF Ec. 2.4

Y G como:

1* BG Ec. 2.5

Donde B* es:

Page 25: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 12

B

B

B

A

A

A

C

C

C

B

dm

d

d

m

2

1

2

1

Ec. 2.6

Y A* como:

1

12

11

2

1

dm

d

d

m A

A

A

C

C

C

A

Ec. 2.7

Si, det B*≠ 0, el sistema es desacoplable

Con los índices:

0min BACNjd jd

ji Ec. 2.8

Entonces existe un par de matrices F y G las cuales desacoplan el sistema (A, B, C). Y el

nuevo vector de entradas esta dado como

)()()( tFvtKxtu Ec. 2.9

Tal que el sistema sea

)()(

)()()()()(

tCxty

tvBGtxBFAtx

Ec. 2.10

Está desacoplado en integradores, es decir el sistema es críticamente estable.

Ejemplo de desacoplamiento mediante retroalimentación de estados sin asignación de

modos. Considere el siguiente sistema mostrado en la Figura 2.4, [31].

Figura 2.4 Diagrama del circuito RC.

Para ilustrar la metodología mostrada en [2] se utiliza el sistema mostrado en Figura 2.4,

cuya representación en espacio de estado (A, B, C) se muestra a continuación:

Page 26: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 13

2

1

2

1

2

1

32

11

2

1

32222

21211

2

1

10

01

10

01

)11

(11

1)

11(

1

x

x

y

y

u

u

RC

RC

x

x

RRCRC

RCRRC

x

x

Las variables de estado son los voltajes en los capacitores C1 y C2, así como las entradas u1

y u2, son los voltajes deseados en los capacitores, y la salida son los voltajes en C1 y C2

Para simplificar los cálculos, se sustituyen los siguientes valores:

R1=R2=R3=100 (Omhs)

C1=C2=0.001 (Faradios)

Sustituyendo los valores en las ecuaciones de estado descritas anteriormente, el sistema (A,

B, C) queda de la siguiente manera:

2

1

2

1

2

1

2

1

2

1

10

01

11

1000

011

100

100

200

11

100

11

100

100

200

x

x

y

y

u

u

x

x

x

x

Para encontrar F y G que desacoplan el sistema se parte de un sistema estable, es decir, el

determinante de (sI - A + BK) tiene todas sus raíces en el semiplano izquierdo, entonces F

será:

1

12

11

2

11

1

1

2

1

dm

d

d

mdm

d

d

m A

A

A

C

C

C

B

BB

A

A

A

C

C

C

F

Ec. 2.11

Entonces, obteniendo los índices di, se calcula B* tal como sigue:

A=nxn= 2X2, 0…n-1=0…2-1=0…1. Los índices a usar son 0 y 1. Ahora la primera fila con

d1=0 de B* es:

11

1000

11

1000

011

100

11

200

11

10011

100

11

200

10

0

Page 27: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 14

Como el resultado es distinto de cero, d1 será el siguiente índice a utilizar, entonces la

segunda fila de B* es:

011

100

11

1000

011

100

11

200

11

10011

100

11

200

01

0

Entonces B* es:

11

1000

011

100

*B

Si B* tiene inversa, es decir det B*≠ 0, el sistema es desacoplable, [2]. Como el det B*≠ 0,

entonces el sistema es desacoplable. Ahora para encontrar A*; la primera fila es:

11

100

11

200

11

200

11

10011

100

11

200

01

La segunda fila de A* es:

11

200

11

100

11

200

11

10011

100

11

200

10

Entonces A* es:

11

200

11

10011

100

11

200

*A

Finalmente la retroalimentación de estado es:

21

12

11

200

11

10011

100

11

200

11

1000

011

1001

F

100

110

0100

11

11

1000

011

1001

G

La matriz de transferencia retroalimentada, resulta:

Page 28: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 15

0 1 2 3 4 5 6 7 8 9 10-10

-5

0

5

10

15

20u1

Time (sec)

desacoplamiento_space_state/v2 : Group 1

s

s

s

sTFG

10

01

100

110

0100

11

11

1000

011

100

21

12

11

1000

011

100

11

200

11

10011

100

11

200

0

0

10

01

1

Quedando la función de transferencia TFG desacoplada en integradores.

Para ver gráficamente los resultados se desarrollo la simulación en MATLAB eligiéndose

arbitrariamente las entradas sin perder generalidad, las cuales se muestran en Figura 2.5.

Fig. 2.5 Representación en espacio de estados del sistema en MATLAB.

La entrada u1 aplicada al sistema mostrado en la Figura 2.5 es de tipo escalón, la cual se

muestra en Figura 2.6.

Figura 2.6 Entrada u1 al sistema.

Page 29: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 16

0 1 2 3 4 5 6 7 8 9 10-20

-15

-10

-5

0

5

10

15

20

25u2

Time (sec)

desacoplamiento_space_state/u2 : Group 1

Y la entrada u2 considerada para el sistema es de forma sinusoidal tal como se muestra en

la Figura. 2.7.

Figura 2.7 Entrada u2 al sistema con una amplitud de 20V y 1 rad/seg en frecuencia.

La salida del sistema representada en la Figura 2.8, muestra un comportamiento

desacoplado del sistema, ya que una entrada solo afecta una salida.

Figura 2.8 Respuesta del sistema ante u1 y u2.

2.1.2 Teorema de Falb y Wolovich, con asignación de modos

La metodología para el diseño de la retroalimentación de estado para desacoplar el sistema

(A, B, C), tal que la matriz de transferencia sea una diagonal

1

11

11)(

nn

nni ssss [14], es decir con estabilidad, asignando los polos en

un lugar deseado, se consigue eligiendo a F como:

Page 30: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 17

*** 1 ABF Ec. 2.12

Donde

mmdm

d

d

m C

C

C

A

A

A

C

C

C

A2

1

2

1

1

12

11

1

1

Ec. 2.13

F es:

mmdm

d

d

mdm

d

d

m C

C

C

A

A

A

C

C

C

B

BB

A

A

A

C

C

C

F2

1

2

1

1

12

11

2

11

1

1

2

1

Ec. 2.14

Y G permanece igual, quedando la matriz de transferencia en lazo cerrado como:

)(

10

0)(

1

1

s

s

T

m

FG

Ec. 2.15

Donde el sistema está desacoplado y tiene modos determinados por los polinomios ϕi(s).

Ahora al utilizar la metodología para asignar modos al sistema (A, B, C) la

retroalimentación de estado que asigna modos en -10 y -15 es:

20

71

110

9

1511

200

11

10011

10010

11

200

11

200

11

10011

100

11

200

11

1000

011

1001

F

Teniendo una matriz de transferencia:

15

10

010

1

s

sTFG

Page 31: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 18

0 1 2 3 4 5 6 7 8 9 100

2

4

6

8

10

12

14

16

18

20u1

Time (sec)

desacoplamiento_space_state/u1 : Group 1

0 1 2 3 4 5 6 7 8 9 10-20

-15

-10

-5

0

5

10

15

20

25u2

Time (sec)

desacoplamiento_space_state/u2 : Group 1

Aplicando la entrada u1 al sistema retroalimentado (A+BF, BG, C) la cual se describe en la

Figura 2.9.

Figura 2.9 Entrada u1 aplicada al sistema.

Y una entrada u2 mostrada en Figura 2.10.

Figura 2.10 Entrada u2 aplicada al sistema.

Se tiene una respuesta del sistema que se muestra gráficamente en Figura 2.11, donde se

puede apreciar que ante cambios drásticos en u1, la salida y2, no se ve afectada.

Figura 2.11 Respuesta del sistema ante las entradas u1 y u2 con asignación de modos en -10 y -15.

Page 32: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 19

Se puede ver en la Figura 2.11 la respuesta del sistema se estabiliza en comparación en la

Figura 2.8, en la cual la salida aumentaba debido al efecto de los integradores puros.

2.2 Factor de acoplamiento

Como se mencionó en el capítulo anterior, en un sistema multivariable acoplado, las

variables de entrada-salida interactúan entre sí hasta cierto punto, lo que es conocido como

el grado de interacción o factor de acoplamiento (véase [20,34]), el cual se puede calcular

para establecer la magnitud en que una entrada afecta a más de una salida, existe un

procedimiento para determinar la respuesta relativa de cada variable controlada en un

proceso, a cada variable manipulada. En método caracteriza la magnitud y tipo de

interacción que debe esperarse y su efecto sobre el comportamiento del sistema. A

continuación se presenta la metodología propuesta en [20], para determinar el grado de

interacción del sistema.

Se propone un caso sencillo de un sistema de tuberías en paralelo para el control de flujos

el cual por su dinámica natural se considera mutivariable acoplado, que se muestra en la

Figura 2.12:

Figura 2.12 Sistema multivariable de flujo de fluidos en tuberías en paralelo.

Primeramente, para el sistema mostrado en Figura 2.12, se analiza el problema de control

en lazo cerrado, véase Figura 2.13.

Page 33: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 20

Figura 2.13 Representación esquemática del sistema de tuberías en paralelo.

Como el sistema está acoplado, son necesarias cuatro funciones de transferencia debido a

que existen 2 interacciones, las cuales definen la dinámica del sistema:

)()(

)(

)()(

)(

)()(

)(

)()(

)(

222

2

122

1

211

2

111

1

sGsM

sC

sGsM

sC

sGsM

sC

sGsM

sC

p

p

p

p

Ec. 2.16

Reescribiendo las ecuaciones anteriores se tiene que:

)()()()()(

)()()()()(

2221212

2121111

sMsGsMsGsC

sMsGsMsGsC

pp

pp

Ec. 2.17

O en forma matricial

)()()( sMsGsC p Ec 2.18

En forma general, en la Figura 2.14, se muestra el esquema para un sistema multivariable

de nxn.

Figura 2.14 Esquema de un proceso (MIMO) nxn.

Page 34: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 21

Para un problema con n variables podrían plantearse en principio n! interacciones.

Regresando al sistema de 2x2 de la Figura 2.5, la interacción se muestra en la Figura 2.15.

Figura 2.15 Interacción de un sistema de 2X2.

La cual muestra la interconexión de los lazos. Ahora, supongamos que el controlador 2 se

desconecta o se pone de modo que M2(s) = 0. Entonces:

)()(

)(11

1

1 sGsM

sCp Ec. 2.19

Pero en general, se tiene:

222

2112

111

1

1)(

)(

)(

pc

cpp

pGG

GGGsG

sM

sC

Ec. 2.20

El segundo término, es el término de interacción entre los dos lazos. Obsérvese que ambos

lazos no pueden ser ajustados independientemente. Y pueden realizarse las mismas

consideraciones que antes. Un sistema algo más complejo ya incrementa notoriamente el

número de variables a controlar y manipular.

2.2.1 Ganancia relativa

La ganancia relativa es una medida de la influencia que una variable manipulada

seleccionada tiene sobre una variable controlada en particular, con relación a las otras

variables manipuladas que actúan en el sistema. No basta con calcular su ganancia de lazo

abierto con todas las demás variables manipuladas fijas. Si existe interacción en el sistema,

cada variable manipulada influirá sobre más de una de las variables controladas. Entonces

Page 35: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 22

la respuesta de una variable controlada en particular a una variable manipulada

seleccionada, dependerá de lo que están haciendo las otras variables manipuladas.

En [20], se sugirió que en primer lugar debe evaluarse la ganancia de cada lazo abierto, con

todos los demás lazos abiertos, es decir, con todas las demás variables manipuladas

constantes y, a continuación, volver a realizar la evaluación con todos los demás lazos

cerrados, es decir, con todas las demás variables controladas constantes. Si una ganancia en

particular de lazo abierto no cambia entre estas dos condiciones, dicho lazo no influye

sobre otros lazos, o bien, éstos no influyen sobre él y, por lo tanto, no interactúa con ellos.

En este caso, su ganancia relativa sería la unidad. Por esta razón, la ganancia relativa de una

variable controlada i a una variable manipulada j se define como:

)cerrado lazo de Ganancia(

)abierto lazo de Ganancia(

cj

i

mj

i

ij

mc

mc

Ec. 2.21

Si ci no responde a mj cuando todas las demás variables manipuladas son constantes, λij es

cero. Si existe alguna interacción, el cambio de mj alterará las otras variables controladas

así como a ci. Entonces, si deben mantenerse constantes, las otras variables manipuladas

tendrán que cambiar durante la segunda evaluación de la ganancia de lazo abierto. El

resultado será una diferencia entre las dos ganancias de lazo abierto, lo que hace que λij no

sea ni 0 ni 1.

La matriz de ganancias relativas se construye como:

nnnn

n

n

n

n

C

C

C

MMM

21

22221

11211

2

1

21

Ec. 2.22

Si se considera el caso más simple de 2X2, las ganancias relativas se proponen enseguida.

2221212

2121111

MKMKC

MKMKC

Ec. 2.23

111

1

2

KM

C

M

Ec. 2.24

Page 36: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 23

Para calcular

21

1

CM

C

Ec. 2.25

Como C2=0,

122

212 M

K

KM Ec. 2.26

Entonces

12211

2112111 1 M

KK

KKKC

Ec. 2.27

2211

211211

1

1 1

2

KK

KKK

M

C

C

Ec. 2.28

Por lo tanto

2211

211211

1

1

KK

KK

Ec. 2.29

1122

112112 1

Ec. 2.30

Entonces la matriz de ganancias relativas para un sistema de 2x2 es:

1

1 Ec. 2.31

Donde, se observa que si λ es próximo a 1 la interacción entre C1 y M1 es muy fuerte,

mientras que el segundo lazo no ejerce gran influencia. Si λ es próximo a cero seria lo

contrario. Las mayores interacciones entre los lazos se dan cuando λ = 0.5.

Page 37: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 24

Capítulo 3. Lógica difusa

Desde su aparición en la década de los años 60's hasta nuestros días, las aplicaciones de la

Lógica Difusa, se han ido consolidando, paulatinamente al comienzo, y con un desbordado

crecimiento en los últimos cinco años. Se encuentran en soluciones a problemas de control

industrial, en predicción de series de tiempo, como metodologías de archivo y búsqueda de

bases de datos, en estrategias de mantenimiento predictivo y en otros campos más.

Las principales razones para tal proliferación de aplicaciones quizás sean la sencillez

conceptual de los sistemas basados en Lógica Difusa, su facilidad para adaptarse a casos

particulares con pocas variaciones de parámetros, su habilidad para combinar en forma

unificada expresiones lingüísticas con datos numéricos, y el no requerir de algoritmos muy

sofisticados para su implementación.

La lógica difusa es una extensión de la lógica tradicional (Booleana) que utiliza conceptos

de pertenencia de conjuntos más parecidos a la manera de pensar humana. El concepto de

un subconjunto difuso fue introducido por L.A. Zadeh en 1965 como una generalización de

un subconjunto exacto tradicional. Los subconjuntos exactos usan lógica Booleana con

valores exactos como por ejemplo la lógica binaria que usa valores de 1 ó 0 para sus

operaciones.

Lotfi A. Zadeh publicó su trabajó acerca de los conjuntos difusos, el cual propone que los

valores falso o verdadero operen sobre el rango de números reales. Las matemáticas

generadas por estas teorías son consistentes y la lógica difusa puede ser una generalización

de la lógica clásica. La estadística mide la probabilidad que un evento futuro ocurra, cuando

la lógica difusa mide la ambigüedad de eventos que ya han ocurrido.

3.1 Conjuntos difusos

Una estrategia para presentar la teoría de Conjuntos Difusos (véase [22, 35-38]), consiste

en recordar algunos aspectos de la teoría de conjuntos convencionales, y a partir de ahí

hacer una extensión a los conjuntos difusos:

¿Qué es un conjunto?

Page 38: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 25

Es una colección de elementos, por ejemplo:

Días _de_ la_ semana = {lunes, martes, miércoles, jueves, viernes, sábado, domingo}.

Números _naturales = {0, 1, 2, 3, 4, 5, 6 ,7 8, 9}.

En la teoría clásica de conjuntos, un elemento puede o no pertenecer a un conjunto.

semanaladeDíasviernes ___

semanaladeDías ___5

naturalesNúmeros _1

naturalesNúmerosSábado _

Lo anterior define un conjunto rígido o duro. Esta clase de conjuntos tienen el problema de

que no pueden lidiar con información parcial, y por lo tanto, la lógica basada en ellos puede

fallar estrepitosamente al enfrentarse a ciertos problemas de la vida real y, peor aún, en

muchas ocasiones ciertas circunstancias de la vida real no pueden representarse con esta

clase de conjuntos.

Por ejemplo, consideremos el siguiente conjunto descrito en forma no enumerativa:

Familias ricas = {ingreso $1Millón anual}. ¿Cómo se clasifica a una familia cuyo

ingreso es $0.999999 de Millón anual? ¿Diferirá su estilo de vida de la que gana apenas

$1.00 más?

En el contexto de la teoría clásica de conjuntos la familia cuyo ingreso es de $0.999999 de

Millón anual no sería rica, sin embargo, este resultado formalmente correcto es

intuitivamente contradictorio.

Estas reflexiones originaron en L. Zadeh una rebeldía en contra de las teorías imperantes en

su época para modelar el mundo real, haciéndole proponer que una nueva matemática debía

surgir. Esto dio lugar a la noción de conjuntos difusos y las teorías y metodologías de

aplicación asociadas a ellos. Se puede desendurecer un conjunto si se considera la vaguedad

difusa que implica la declaración del mismo. Por ejemplo:

C1 = {parejas casadas}

Una persona puede ser o no casada, por lo tanto este es un conjunto duro. En lo sucesivo,

llamado solamente conjunto. Ahora, considérese el siguiente conjunto:

C1f = {parejas felizmente casadas}

Page 39: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 26

El calificador felizmente, introduce un elemento subjetivo, por lo tanto los límites o

fronteras del conjunto no están plenamente definidas, se vuelve entonces, un conjunto

difuso. Veamos ahora otro par de conjuntos:

C2 = {todos los gatos}

C2f = {todos los gatos bonitos}

Ahora la palabra bonitos es la que introduce el grado de aspecto indefinido en el conjunto

C2f. Cuando se trata de saber si un gato es bonito o si una pareja está felizmente casada, los

conceptos que validan la pertenencia o no a los respectivos conjuntos han de evaluarse en

términos no duros, es decir, no se puede decir solamente que un gato sea totalmente bonito,

ya que también puede ser regularmente bonito o medio bonito.

Para el caso de una pareja cualquiera, pertenecerá también en un grado variable al conjunto

de las parejas felizmente casadas; inclusive esta noción dependerá de si se le pregunta al

marido o a la esposa… posibles respuestas involucran:

Soy casi felizmente casado(a)

Soy muy felizmente casado(a)

¿Se pueden representar numéricamente estas respuestas?, ¿cómo se describen conjuntos de

esta naturaleza? Un conjunto difuso se representa por medio de un conjunto de pares que

indican el grado de pertenencia de un elemento a dicho conjunto y el elemento mismo. En

general un conjunto difuso se representa de la siguiente manera:

Ec. 3.1

En donde

Es el grado de membrecía del i-ésimo elemento xi al conjunto Cf. El par μCf(xi)/xi

Se conoce como singleton. “/” es un marcador, no el símbolo de división.

En forma breve, el conjunto de pares ordenados de la Ec. 3.1, se representa como:

Ec. 3.2

}/)(

/)( /)( /)( /)( { Cf

11Cf

33Cf22Cf11Cf00Cf

NN xx

xxxxxxxx

)(Cf ix

Xx

iiAi

xx /)(A

Page 40: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 27

La expresión Cf es la especificación del conjunto difuso en forma enumerativa o

extensional y se puede graficar en un par de ejes coordenados (xi,mCf(xi)) en forma

discreta.

Figura 3.1 Especificación del conjunto difuso en forma enumerativa en forma discreta.

Otra forma de representar un conjunto difuso es la intencional, en la cual se describe el

conjunto en función de las propiedades comunes a los elementos que lo componen.

Ejemplo:

C1f = {parejas felizmente casadas}

Cuando un conjunto difuso se describe en la forma intencional, dicha representación

conlleva en la mayoría de los casos un continuo en los valores de los elementos xi del

conjunto difuso, por lo que se habla de una función de membrecía o pertenencia continua:

Ec. 3.3

En este caso, es importante que la función pueda ser derivable para que sea

matemáticamente tratable una o hasta dos veces, lo que implica la existencia de:

Ec. 3.4

X

A xx /)(A

21

A

pA

pA

pA

dp

d

N

Page 41: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 28

Que además es fundamental para la aplicación de los métodos de optimización implícitos

en las versiones de sistemas difusos que cuentan con aprendizaje. Así, la forma intencional

se representa gráficamente como:

Figura 3.2 Representación en forma intencional de un conjunto difuso.

¿Qué sentido puede tener el pertenecer parcialmente a un conjunto? En muchos casos

puede tener más sentido que pertenecer totalmente a un conjunto; veamos algunos

ejemplos:

Ejemplo 1: Supóngase que se desea definir el conjunto de los estudiantes de la carrera de

Ingeniería Eléctrica del Tecnológico de Aguascalientes que están cursando el quinto

semestre de la carrera. ¿Cómo clasificar a un estudiante que cursa dos materias de cuarto

semestre, tres de quinto y una de sexto? y ¿a otro que toma una materia de quinto semestre,

y cinco de sexto? Evidentemente ambos son en parte miembros del conjunto Estudiantes de

quinto semestre, pero sólo lo son parcialmente.

Ejemplo 2: Supóngase que se desea clasificar a los miembros de un equipo de fútbol según

su estatura en tres conjuntos, Bajos, Medianos y Altos. Podría plantearse que se es Bajo si

se tiene una estatura inferior a, por ejemplo, 160 cm, que se es Mediano si la estatura es

superior o igual a 160 cm e inferior a 180 cm, y se es alto si la estatura es superior o igual a

180 cm, con lo que se lograría una clasificación en conjuntos concretos.

Page 42: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 29

Sin embargo, ¿qué tan grande es la diferencia que existe entre dos jugadores del equipo,

uno con estatura de 179.9 cm y otro de 180.0 cm? Ese milímetro de diferencia quizás no

represente en la práctica algo significativo, y sin embargo los dos jugadores han quedado

rotulados con etiquetas distintas: uno es Mediano y el otro es Alto. Si se optase por efectuar

la misma clasificación con conjuntos difusos estos cambios abruptos se evitarían, debidos a

que las fronteras entre los conjuntos permitirían cambios graduales en la clasificación.

Como se muestra en la siguiente Figura.

Figura 3.3 Funciones de pertenencia del ejemplo 2.

La Figura 3.3 muestra cómo podría hacerse tal clasificación: El universo de discurso sería

el conjunto continuo de todas las posibles estaturas (el intervalo [130cm, 210cm] por

ejemplo). Las funciones de pertenencia de cada uno de los tres conjuntos Bajo, Mediano y

Alto se han graficado. La forma de estas funciones de pertenencia no debe ser

necesariamente la de la Figura 3.3, pues depende de lo que se entienda por "Bajo",

"Mediano" y "Alto". Las Figuras 3.4 y 3.5 muestran otras alternativas para definir dichas

funciones.

Figura 3.4 Representación alternativa del ejemplo 2.

Page 43: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 30

Figura 3.5 Representación alternativa del ejemplo 2.

3.1.1 Propiedades de los conjuntos difusos

Al igual que los conjuntos convencionales, los conjuntos difusos poseen una serie de

propiedades, [22]:

1. Cardinalidad (Card(A)).

2. Altura (Heigth(A)). Normal y Subnormal.

3. Soporte. Spt(A) = {x en U | mA(x) > 0}

4. Corte de nivel alfa (a-cut).

Aa0 = {x en U | mA(x) >= a0}

5. Resolución identidad.

6. Convexidad.

A continuación se definen cada una de las propiedades.

1. Cardinalidad:

Ec. 3.5

Útil para contestar preguntas como ¿cuántas grandes universidades hay en México?, lo cual

encuentra aplicaciones importantes en bases de datos difusas y sistemas de información.

2. Altura:

Ec. 3.6

La mayor membrecía presente en el conjunto difuso. Un conjunto se llama normal si su

altura es 1, y subnormal si su altura es menor que uno. Un conjunto subnormal es el de: el

conjunto de las personas perfectas.

)()( ix

A xACardi

)(max)( iAx

xAHeighti

Page 44: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 31

3. Soporte:

0)(__)( xmUenxASpt A Ec. 3.7

El soporte de A, Es el conjunto de elementos cuyo grado de membrecía en A es mayor que

cero. El soporte de un conjunto difuso es un conjunto clásico (o “duro”, es o no es parte del

soporte).

4. Corte-alfa a-cut:

00 )(__ axmUenxA Aa Ec. 3.8

También llamado nivel alfa; a se define en el rango {0,1}.

5. Resolución identidad:

Se basa en el concepto de corte-alfa; un conjunto difuso puede descomponerse en múltiples

conjunto duros usando diferentes valores de a. Intuitivamente, cada corte-alfa especifica

una porción de las funciones de membrecía; por lo tanto, es razonable suponer que la

función de membrecía puede reconstruirse apilando las porciones una sobre otra. Esta

propiedad establece que:

annaa xAaxAaxAaA 1100 Ec. 3.9

En donde aixAai representa un conjunto difuso como el siguiente:

Ec. 3.10

La función de membrecía original puede verse como la unión de todos los conjuntos

construidos a partir de una lista ordenada de cortes-alfa. El operado max (ver más adelante,

operaciones entre conjuntos difusos) se aplica a los varios cortes-alfa para reconstruir A.

6. Convexidad:

Un conjunto difuso es convexo si su función de membrecía no tiene un valle. Formalmente:

Sea U un universo de discurso de la variable x. Sea A un subconjunto de U. El conjunto A

es convexo si y sólo si:

Ec. 3.11

caso otrocualquier En 0

)( si iAi xxA

ii

10y , todopara

)}(),(min{))1((

Uba

baba AAA

Page 45: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 32

Establece que el valor de membrecía de cualquier elemento en el intervalo [A, B] debe ser

mayor que el valor de membrecía de cualquiera de sus extremos. Como ocurre con los

conjuntos tradicionales, los conjuntos difusos soportan una serie de operaciones entre ellos.

3.1.2 Operaciones entre conjuntos difusos

Las tres operaciones básicas entre conjuntos concretos, Unión, Intersección y

Complemento, se definen también para los conjuntos difusos, intentando mantener el

significado de tales operaciones. La definición de estas operaciones se hace empleando el

concepto de función de pertenencia de los conjuntos.

Intersección: el resultado de efectuar la operación de Intersección entre dos conjuntos

difusos A y B definidos sobre el mismo Universo, y con funciones de pertenencia uA(x) y

uB(x) respectivamente es un nuevo conjunto difuso A∩B definido sobre el mismo universo,

y con función de pertenencia uA∩B(x), dada por:

)()()( xuxuxu BABA Ec. 3.12

En donde el operador (*) debe satisfacer las siguientes propiedades:

xx

wyzxentonceswzyyxsi

zyxzyx

xyyx

1(*)

(*)(*)_____

)(*)(*)()(*)(*)

(*)(*)

Todo operador que satisfaga las propiedades anteriores se conoce como una T-Norma, y

representa la Intersección de dos conjuntos difusos. Dos de los operadores más sencillos

son el mínimo y el producto clásico (se denotarán por min y * respectivamente). Las figuras

3.6 y 3.7 muestran la intersección de los conjuntos Bajo y Mediano de la Figura 3.3, cuando

se emplean los operadores mínimo y producto.

Figura 3.6 Operación intersección de los conjuntos BAJO y MEDIANO de la Figura 3.3 empleando el

mínimo.

Page 46: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 33

Figura 3.7 Operación intersección de los conjuntos BAJO y MEDIANO de la Figura 3.3 empleando el

producto.

Unión: el resultado de efectuar la operación de Unión entre dos conjuntos difusos A y B

definidos sobre el mismo Universo, y con funciones de pertenencia uA(x) y uB(x)

respectivamente es un nuevo conjunto difuso AUB definido sobre el mismo universo, y con

función de pertenencia uAUB(x), dada por:

)()()( xuxuxu BABA Ec. 3.13

En donde el operador (+) debe satisfacer las siguientes propiedades:

xx

wyzxentonceswzyyxsi

zyxzyx

xyyx

0)(

)()(_____

))()(())()((

)()(

Todo operador que satisfaga las propiedades anteriores se conoce como una S-Norma, y

representa la Unión de dos conjuntos difusos. Uno de los operadores más sencillo es el

máximo (en adelante se denotará por max). La Figura 3.8 muestra la unión de los conjuntos

Bajo y Mediano de la Figura 3.3, cuando se emplea el operador máximo.

Figura 3.8 Operación unión de los conjuntos BAJO y MEDIANO de la Figura 3.3 empleando el

máximo.

Page 47: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 34

Complemento: el resultado de efectuar la operación de Complemento sobre un conjunto

difuso A definido sobre un Universo, y con función de pertenencia uA(x) es un nuevo

conjunto difuso A' definido sobre el mismo universo, y con función de pertenencia uA'(x),

dada por:

)(1)´( xuxsA A Ec. 3.14

La Figura 3.9 muestra el complemento del conjunto Bajo de la figura 3.3.

Figura 3.9 Operación complemento del conjunto BAJO de la Figura 3.3.

Otras operaciones como las relaciones entre conjuntos difusos, la composición de

relaciones y el principio de extensión no se incluyen en este capítulo.

3.2 Principios de la lógica difusa

Es bien conocido que la teoría de conjuntos, el álgebra booleana y la lógica tradicional son

isomorfas, bajo transformaciones adecuadas. Esto significa que tienen una estructura

subyacente similar, y que por tanto las definiciones que se hagan en una cualquiera de las

tres teorías se puede llevar a las otras dos, mediante transformaciones adecuadas. La Tabla

3.1 muestra la correspondencia de algunos operadores.

Tabla 3.1 Correspondencia entre operadores de la Teoría de Conjuntos, el Álgebra Booleana y la

Lógica Tradicional.

Teoría de conjuntos Álgebra booleana Lógica tradicional

Intersección Conjunción AND

Unión Disyunción OR

Complemento Negación NOT

Page 48: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 35

Ahora bien, el razonamiento lógico consiste en la combinación de proposiciones para

producir nuevas proposiciones; así, la combinación de las proposiciones "X es A" y "Y es

B" mediante el operador AND da como resultado la proposición "X es A AND Y es B". La

tabla 3.1 sugiere que puede representarse esta combinación mediante un operador análogo a

la Intersección de Conjuntos.

Lo anterior es posible porque en la lógica tradicional toda proposición puede tener uno de

dos valores: verdadero o falso, lo que corresponde en la teoría de conjuntos duros a los

únicos dos valores que puede tomar la función de pertenencia para cualquier conjunto: 1 ó

0.

Ahora bien, en lógica difusa una proposición puede representarse por un conjunto difuso:

"X es A" corresponde a un conjunto A con función de pertenencia uA(x), mientras que "Y es

B" corresponde a un conjunto B con función de pertenencia uB(y), y la combinación de estas

dos proposiciones con el operador AND, es decir la proposición "X es A AND Y es B"

corresponde a un nuevo conjunto difuso Aand B con función de pertenencia

))(),(min(),( yuxuyxu BAAandB Ec. 3.15

En donde se ha utilizado el operador min para efectuar la intersección de los dos conjuntos,

pero en general podría haberse utilizado cualquier T-Norma. Nótese que los universos de

discurso sobre los cuales están definidos los conjuntos A y B no son necesariamente el

mismo, son, por ejemplo U y V respectivamente, mientras que el conjunto AandB está

definido sobre el universo U y V, ver Figura 3.10.

Figura 3.10 Operación AND.

Page 49: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 36

En forma análoga, al operador lógico OR puede hacerse corresponder a una S-Norma,

mientras que al operador lógico NOT puede hacerse corresponder al complemento.

3.2.1 Reglas de implicación

Las reglas de implicación se utilizan para obtener conclusiones en base al conocimiento

expresado como reglas y hechos; cuentan con la parte antecedente y consecuente. En

general, se expresan de la siguiente manera:

Regla: Si una persona tiene IQ alto, entonces la persona es listo.

Hecho: Jack tiene IQ alto

Inferencia: Jack es listo.

Modus-Ponens: Inferencia en sentido directo. Se tiene información del antecedente y se

infiere sobre el consecuente. Caso de arriba.

Modus-Tollens: Inferencia en sentido inverso. Se tiene información del consecuente y se

infiere sobre el antecedente. Ej.: “Jack no es listo” es un hecho relacionado con el

consecuente, y se infiere en base a la regla y el antecedente es “El IQ de Jack no es alto”.

En la lógica clásica, dada una regla, el hecho debe coincidir totalmente con la parte

antecedente o consecuente de la regla. En este caso, si el IQ de Jack es medianamente alto

no se puede inferir si Jack es listo o no. La implicación difusa permite que una regla se

cumpla parcialmente, membrecía parcial. Tampoco puede la lógica clásica resolver cuando

existe incertidumbre en el hecho (qué tan seguro es el hecho). Zadeh realizó una extensión

a la lógica clásica para manejar el razonamiento de sentido común bajo cumplimiento

parcial de la regla, razonar acerca del grado de certidumbre de una declaración.

Dado:

El IQ de Jack es alto Jack es inteligente

El IQ de Jack es un poco alto Jack es un poco inteligente.

Page 50: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 37

3.3 Reglas de mapeo funcional

El primer concepto alrededor del mapeo funcional que se verá es el de partición. La Figura

3.11 es una partición cartesiana; donde el espacio que relaciona dos variables se parte con

fronteras duras.

Figura 3.11 Esquema para el mapeo funcional de las reglas, partición cartesiana.

En contraparte, una partición difusa mostrada en Figura 3.12, genera fronteras que crecen y

caen suavemente en función de los conjuntos difusos que componen las variables que se

relacionan con la regla.

Figura 3.12 Esquema para el mapeo funcional de la reglas, partición difusa.

Page 51: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 38

Aquí se relacionan las variables distancia entre TV y observador (d) y brillo de la

habitación (b). La distancia a la TV tiene 3 conjuntos difusos: Cerca, medio, lejos. Y el

brillo de la habitación tiene 2 conjuntos difusos: Brillante, Obscuro. Se generan 6

subregiones difusas. Cada subregión difusa se describe por una declaración (que

posteriormente sería una regla).

d es MEDIO Y b es OBSCURO

d es LEJOS Y b es OBSCURO

En general, se da una aproximación combinacional.

Una partición difusa de un espacio es una colección de subregiones difusas cuyos límites se

traslapan. Una partición difusa de un espacio S es una colección de subregiones Ai que

satisface la condición:

Ec. 3.16

Para cada elemento del espacio, su grado de membrecía a todas las subregiones siempre

suma 1. La expresión anterior es equivalente a:

Ec. 3.17

Una condición relajada de la partición difusa reemplaza la suma a 1 por la condición de que

la suma en todas las subregiones sea mayor que cero pero menor que uno, y se llama una

partición difusa débil. Lo anterior se expresa matemáticamente como:

Ec. 3.18

3.3.1 Mapeando una subregión difusa a un modelo local.

Un modelo local para una subregión del espacio de entrada describe una relación de mapeo

de entrada-salida en la pequeña subregión. Un modelo global describe una relación de

entrada-salida para todo el espacio. Es más fácil ajustar los modelos locales que el global.

Por lo tanto, se aconsejan dos pasos para expresar la relación entrada-salida o mapeo:

i

A Sxxi

1)(

SAii

i

A Sxxi

1)(0

Page 52: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 39

1.- Particionar

2.- Mapear localmente.

Generalmente, el mapeo de una subregión difusa a un modelo local es a través de una regla

difusa SI-ENTONCES de la forma:

)(xLMy ENTONCES FS xSI iiiii Ec. 3.19

En donde:

xi, yj, son los vectores de variables de entrada y salida respectivamente,

FSi, LMi son la subregión y el modelo local respectivo.

Las reglas que asocian la misma subregión difusa a dos modelos locales diferentes no son

válidas son contradictorias. Ejemplo:

SI x es pequeño ENTONCES y es largo.

SI x es pequeño ENTONCES y es pequeño.

El modelo local asociado a una subregión difusa puede ser una de cuatro formas:

1.- Constante dura. SI x es pequeño ENTONCES y = 4.5

2.- Constante difusa: SI x es pequeño ENTONCES y es mediana

3.- Modelo Lineal: SI x1 es pequeño Y x2 es largo ENTONCES y=2x1+5x2+3

4.- Modelo No Lineal: Teóricamente se puede realizar, pero en la práctica raramente es

necesario.

3.4 Defuzificación

Una distribución de posibilidad puede interpretarse mediante una aproximación lingüística,

o mediante la desfuzificación. La primera da una interpretación cualitativa, mientras que la

segunda es un resumen cuantitativo y es más usada en aplicaciones de control.

Page 53: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 40

3.4.1 Métodos de desfuzificación

La desfuzificación aplica a una distribución de posibilidad y sirve, entonces, para obtener

una interpretación cuantitativa de dicha distribución. No existe una manera única de pasar

de desfuzificar una distribución de posibilidad, sino varias. Se enlistan a continuación.

MOM (Mean of maximum). Calcula el valor promedio de aquellos valores de salida que

tienen los máximos grados de posibilidad. Ejemplo: Supóngase que “y es A” es una

conclusión difusa que desea desfuzificarse; para eso, puede usarse la fórmula:

Ec. 3.20

En donde P es el conjunto de valores de y que tiene el mayor grado de posibilidad en A, es

decir:

Ec.3.21

Una desventaja de este método es que no toma en cuenta la forma global de la distribución

de posibilidad. Dos P con diferente forma pero iguales valores pico pueden desfuzificarse a

la misma cantidad, lo cual es anti-intuitivo. La Figura 3.13 muestra el método MOM

(Medium of maximum), junto con sus derivados SOM (Smallest of maximum) y LOM

(Largest of maximum).

Figura 3.13 Métodos de defuzificación LOM, MOM y SOM.

P

y

AMOMPy

*

*

)(

y

AA yyyP )( sup*)(*

Page 54: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 41

COA (Center of Area). Conocido también como Centro de gravedad o Centroide.

Considera la forma de la P a desfuzificar. Se calcula de forma similar al centro de

gravedad en la física. Si P es discreta, la siguiente fórmula aplica:

Ec. 3.22

Figura 3.14 Defuzificación por el método centroide.

La principal desventaja de este método es su alto costo computacional, aunque es la que

más se usa en la práctica.

Bisector. Parte la P en dos regiones de igual área. En ocasiones puede coincidir con el

método del centroide. Ejemplo:

Figura 3.15 Defuzificación por el método bisector.

xA

xA

x

xx

ACOA)(

)(

)(

Page 55: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 42

Método de altura (Height). Se realiza en dos pasos:

1.- Se calcula el centro de gravedad (ci) de la P del consecuente (Ci) y,

2.- Se asigna como un valor duro a la salida y (y=ci).

Entonces se aplica desfuzificación por centroide a las reglas con consecuentes duros, con la

ecuación:

Ec. 3.23

En donde wi es el grado en que la i-ésima regla es disparada con el dato de entrada. Los

valores de ci pueden calcularse durante la fase de diseño, por lo que en tiempo de ejecución

sólo se requiere el cálculo de productos acumulados y divisiones, que es mucho más rápido

que el método del centroide.

3.5 Modelo difuso basado en reglas para aproximación de funciones

3.5.1 El modelo de Mamdani

Este modelo utiliza reglas para hacer el mapeo U1xU2x…xUr W, de mediante reglas:

Ri: SI x1 es Ai1 y x2 es Ai2 y … y xr es Air ENTONCES y es Ci

En donde xj, j = 1,2,…,r son las variables de entrada

y es la variable de salida

Aij y Ci son los conjuntos difusos de las entradas y la salida

Dadas las entradas de la forma

x1 es A’1 , x2 es A’2 … xr es A’r

donde A’1, A’2, … A’r, son subconjuntos difusos de U1, U2, … Ur (lo cual implica que son

números difusos), la contribución de la i-ésima regla Ri a la salida y del modelo de

M

ii

M

iii wcwy

11

Page 56: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 43

mamdani es un conjutno difuso cuya función de membrecía es calculada mediante, la

siguiente ecuación:

Ec. 3.24

En donde ai es el grado de cumplimiento (o fuerza de disparo) de la regla Ri, y aij es el

grado de cumplimiento entre xj y Ri respecto a la condición xj.

Ec. 3.25

La salida del modelo es la agregación de las salidas de todas las reglas utilizando el

operador “max”:

Ec. 3.26

Esta salida, que es un conjunto difuso debe aún ser desfuzificada para encontrar el valor

numérico inferido por el sistema. En la Figura 3.16 se muestra el proceso de un sistema

difuso

Figura 3.16 Sistema difuso tipo Mamdani.

En una primera etapa, las variables duras son fuzificadas, esto es, se determina el valor de

membrecía (grado de cumplimiento) de la entrada en cada uno de los subespacios difusos.

La fuerza de disparo de la regla depende de estos valores (operación min). En base a las

reglas de inferencia, se crea un conjunto difuso en cada regla. Las reglas de inferencia

deben agregarse para formar un único conjunto de salida, mostrada en la Figura 3.17

Figura 3.17 Variables de salida y defuzificación.

El objetivo es obtener un número duro mediante desfuzificación.

min""operador el como con )),()((sup ' jAjAx

ij xxijj

j

)(,),(),(max)( ''' 21yyyy

LCCCC

)()()( 21' yyii CiniiC

Page 57: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 44

Capítulo 4. Resultados sobre desacoplamiento y

cambio en el factor de acoplamiento difuso del

sistema de tuberías en paralelo.

En este capítulo se presentan los resultados obtenidos sobre el desacoplamiento difuso del

sistema de tuberías en paralelo para un sistema de riego agrícola basado en el error entre la

información del gasto deseado y el real. Así mismo, se extiende el resultado del

desacoplamiento a la modificación del factor de acoplamiento en el mismo sistema de

tuberías.

4.1 Interés y utilización de la lógica difusa para el control

4.1.1 Interés

El ser humano resuelve a menudo problemas complejos con la ayuda de datos

aproximados: la precisión de los datos es a menudo inútil; por ejemplo para escoger un

apartamento se podrá tener en cuenta la superficie, la proximidad de los comercios, la

distancia del lugar de trabajo, el alquiler, sin tener necesidad de un valor muy preciso de

cada uno de estos datos. Los conocimientos que el ser humano tiene de una situación

cualquiera es generalmente imperfecta, ello puede ser incierto (duda de su validez), o

impreciso (él tiene dificultad para expresarse claramente).

En la industria donde los técnicos y los operadores resuelven a menudo los problemas

complejos de manera relativamente simple y sin tener necesidad de retocar el sistema. De la

misma manera se sabe que un modelo matemático no es necesario para conducir un

vehículo a pesar de ser un sistema muy complejo, por todas las variables que interactuan.

Cuando la complejidad de un sistema aumenta, hacer afirmaciones precisas sobre su

comportamiento resulta difícil. Antes de conformar el sistema, es a menudo interesante

amoldar el comportamiento de un operador humano cara al sistema, antes de los valores

numéricos precisos, el funcionamiento debe estar descrito por unos calificativos globales

traduciendo el estado aproximado de las variables.

Page 58: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 45

4.1.2 Utilización para el control

La lógica difusa es bien conocida en la automatización para aplicaciones en el control de

procesos, conocida como control difuso. El controlador difuso se inserta al sistema y

calcula la ley de control a aplicar al proceso en base a un conjunto de reglas difusas, que

permiten lo siguiente:

o tener en cuenta un conocimiento lingüístico existente de naturaleza cualitativa,

o tener en cuenta las variables que difícilmente se integran en el sistema,

o mejorar el funcionamiento de controladores clásicos, para: control fuera de línea o

en línea de las ganancias de estos controladores, modificación de su salida en

función de sucesos que no pueden ser tenidos en cuenta por una técnica clásica.

4.1.3 La capitalización del saber hacer

Para considerar la utilización de las reglas difusas, se hace necesario que exista un

conocimiento lingüístico, un saber hacer humano. Las bases de las reglas difusas no

aportan solución cuando nadie sabe cómo funciona el sistema o no puede controlarlo

manualmente. Cuando este saber-hacer existe y es transcriptible bajo forma de reglas

difusas, se permite emplear la lógica difusa y el funcionamiento es fácilmente

comprensible para el usuario. Entonces en la colección del conocimiento lingüístico experto

sobre el sistema, el olvido inconsciente de informaciones, la dificultad de explicar, el temor

de divulgar su saber son obstáculos, a menudo, encontrados. Esta etapa debe, entonces,

estar preparada y manejada con cuidado, particularmente en el terreno humano.

En el caso donde un conocimiento lingüístico humano existe, la utilización de las reglas

difusas está considerada, con mayor razón cuando las imperfecciones afecten el

conocimiento del sistema, cuando es muy complejo y su ajuste es difícil o cuando el modo

de abordar pasa por una visión global de ciertos aspectos. Las reglas difusas no sustituyen a

los métodos clásicos de la automatización pero los complementan.

Para aplicar la teoría de control difuso, ver [22], al problema de desacoplamiento es

necesario que exista conocimiento experto sobre el funcionamiento del sistema. En general

si no existe este conocimiento la lógica difusa no puede aportar una solución. Cuando el

Page 59: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 46

conocimiento experto existe y es transcriptible en reglas difusas, se permite emplear la

lógica difusa prescindiendo de un modelo matemático del sistema. Cabe mencionar que el

problema de desacoplamiento, como se mostró en el capítulo 1, en todos los casos está

basado en un modelo matemático y la metodología que se utiliza para la solución al

problema de desacoplamiento resulta compleja y en el caso no regular no se ha encontrado

una solución general. Por lo tanto, aplicar la lógica difusa al problema de desacoplamiento

es considerada como una alternativa viable. En este trabajo se considera como caso de

estudio un sistema de riego en paralelo el cual se describe en la siguiente sección.

4.2 Caso de estudio

El sistema de riego en paralelo a considerar, es un sistema MIMO cuadrado, consta de una

tubería principal de la cual se desprenden 3 tuberías secundarias en forma paralela a la

tubería principal, y cada una de estas tuberías secundarias constan de una válvula

proporcional de comportamiento lineal, la cual regula el flujo de agua, ver Figura 4.1.

Figura 4.1 Esquema del sistema de riego de tuberías en paralelo.

El sistema de la Figura 4.1 se aproxima a los sistemas de riego por aspersión y distribución

ampliamente utilizados a nivel agrícola. En este tipo de sistemas de riego la distribución de

agua cumple con el principio básico de continuidad, ver [25], que se representa en la Ec.

4.1.

n

iiT QQ

1 Ec. 4.1

Page 60: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 47

Donde:

QT=Caudal total

Qi=Caudal a través de la i-ésima rama paralela

i= 1,2, …, n, número de ramas en paralelo.

Así mismo, las pérdidas de carga total son igual a la pérdida de carga en cada una de las

tuberías del sistema, lo cual se representa en la Ec. 4.2, ver [25].

n ..., 2, 1,i para mifiiT hhhh Ec. 4.2

Donde:

i= Es la i-ésima rama paralela

hji= Pérdidas por fricción en el tramo j de la rama i

hmi= Pérdidas menores en el accesorio m de la rama i

Para entender mejor el sistema de referencia y poderlo simular en MATLAB se estableció

una analogía de este sistema a través de un circuito eléctrico, donde la corriente del circuito

se comporta como el flujo de la tubería, y las válvulas proporcionales lineales, son

potenciómetros lineales. Entonces el circuito que representa el sistema hidráulico se

muestra en Figura 4.2.

Figura 4.2 Circuito eléctrico análogo al sistema de referencia.

Page 61: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 48

El comportamiento del sistema real se representa por el circuito eléctrico mostrado en la

Figura 4.2, pues la división de corrientes en circuitos eléctricos se comporta de forma

similar a la ecuación de continuidad, Ec. 4.1 y la división de voltajes a las pérdidas de

carga, Ec. 4.2. Para establecer la analogía del sistema de tuberías y el circuito eléctrico se

considera que las ecuaciones de equilibrio que gobiernan el comportamiento de los sistemas

eléctricos son las leyes de Kirchhoff de voltaje y corriente las cuales establecen lo siguiente:

Ley de Voltaje de Kirchhoff: La suma algebraica de las caídas de tensión a lo largo de una

trayectoria cerrada es cero.

0V Ec. 4.3

Ley de corrientes de Kirchhoff: La suma algebraica de las corrientes en un nodo es igual a

cero, en otras palabras, la suma de las corrientes que entran a un nodo debe ser igual a la

suma de las corrientes que salen del mismo nodo.

saleentra II Ec. 4.4

Ambas leyes pueden ser comparadas con las pérdidas de carga, Ec. 4.3 y la ecuación de

continuidad, Ec. 4.4 en el sistema de tuberías en paralelo, respectivamente.

La regla divisora de voltaje determina como se dividirá la corriente que entra entre los

elementos en grupo de ramificaciones en paralelo. Para dos elementos en paralelo de igual

valor, la corriente se dividirá equitativamente, en el sistema de tuberías en paralelo significa

que si dos válvulas de las tuberías se abren de igual forma el flujo será el mismo en ambas.

Para los elementos en paralelo con valores distintos, entre más pequeña sea la resistencia,

mayor será la corriente de entrada, para el sistema de tuberías, si una válvula ofrece muy

poca resistencia fluídica entonces el flujo será mayor. En la Ec. 4.5 se representa el valor de

la corriente para un elemento en paralelo del circuito eléctrico

IR

RI

i

Ti Ec. 4.5

Page 62: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 49

Donde:

Ii=Corriente en la i-ésima rama paralela

RT=Resistencia total en paralelo del circuito

I=Corriente total

Ri=Resistencia en la i-ésima rama paralela

Ambos sistemas se caracterizan por comportarse de manera análoga, pues por ser sistemas

de energía hidráulica y eléctrica respectivamente, cumplen con el principio de conservación

de la energía, la cual es una ley fundamental de la física.

En este trabajo se considera que en el sistema de tuberías la bomba es la fuente de potencial

fluídico ya que impulsa al fluido a través de la tubería, y en el circuito eléctrico esta energía

la proporciona la fuente de voltaje. Una vez que en el sistema de tuberías está fluyendo

agua se establece un gasto deseado para cada rama paralela que depende directamente de la

presión del fluido, la cual es igual para cada rama paralela y de la apertura de la válvula,

ésta última gobernante del paso del líquido. En el circuito eléctrico esta energía de presión

se representa como el voltaje presente en la rama paralela y el potenciómetro es el

gobernante del paso de la corriente. Por lo tanto, se considera que la bomba proporciona un

caudal constante, es decir el voltaje del circuito es constante también, si se desea disminuir

el gasto en alguna de las ramas, es obvio que se tendrá que cerrar la válvula

correspondiente para lograr el objetivo, pero por el principio de continuidad (ver Ec 4.1), el

fluido que deja de circular por la rama que tuvo una disminución, tendrá que ser absorbido

por las demás ramas de cierta forma, afectando el gasto en éstas últimas, lo que es visto

como acoplamiento.

Si el objetivo de control es el desacoplamiento, es necesario determinar de qué manera se

puede conseguir una dinámica del funcionamiento tanto de la bomba como de las válvulas,

de tal manera que se modifiquen los gastos en las ramas paralelas sin afectarse entre sí. La

propuesta de desacoplamiento mediante la lógica difusa, basa su metodología a partir de un

conocimiento experto sobre cómo manipular el sistema de tuberías y conseguir el objetivo

de control. Intuitivamente, se determinó que regulando adecuadamente tanto la presión

Page 63: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 50

como a las válvulas, se puede hacer que el sistema tenga cambios en los flujos de cada una

de las ramas paralelas sin afectarse entre sí.

Por ejemplo, sí se disminuye el gasto en alguna rama y se desea no afectar a las demás, la

acción sobre el sistema será disminuir el gasto para que solo satisfaga la demanda necesaria

del sistema, de igual forma si la demanda aumenta, entonces el gasto debe aumentar para

satisfacer lo necesario. Esta forma de control se asemeja a un controlador proporcional.

Para verificar que este comportamiento desacoplado se podía lograr, se simuló en

MATLAB el sistema mostrado en la Figura 4.2, el cual se representa en el bloque llamado

“sistema de tuberías en paralelo” de la figura 4.3. En esta esquema se consideró un bloque

de ganancia unitaria que representa un controlador proporcional y las entradas son señales

de demanda de flujo aleatorias, es decir, existe variación en la demanda de flujo para

ciertos lapsos de tiempo, el bloque que ingresa el valor de la presión es constante para cada

rama paralela, que como ya se comentó en un sistema paralelo, la presión es igual para cada

rama.

El controlador proporcional (P) determina el valor para cada válvula y la información del

error entre el gasto deseado y el real es el conocimiento experto. Entonces, con esta

información, es posible traducir este error en un Controlador Proporcional Difuso (CPD) el

cual puede conseguir el mismo objetivo de control.

Figura 4.3 Simulación del sistema de tuberías en paralelo en lazo cerrado con MATLAB.

Page 64: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 51

En la siguiente sección, se propone el CPD diseñado a partir de la información

proporcionada por el experto.

4.3 Sistema de control difuso tipo Mamdani para el sistema de riego

El diagrama de bloques del controlador difuso que utilizado es del tipo Mamdani, que se

muestra en la Figura 4.4, y está compuesto por el fuzzificador, el mecanismo de inferencia,

la base de las reglas y el defuzzificador.

Figura 4.4 Sistema difuso tipo Mamdani.

La entrada de un sistema de lógica difusa tipo Mamdani normalmente es un valor numérico

proveniente, por ejemplo de un sensor, en este caso ese valor proviene del valor real del

gasto en alguna de las 3 tuberías paralelas. Para que este valor pueda ser procesado por el

sistema difuso se hace necesario convertirlo a un lenguaje que el mecanismo de inferencia

pueda procesar. Estos valores difusos son los niveles de pertenencia de los valores de

entrada a los diferentes conjuntos difusos en los cuales se ha dividido el universo de

discurso.

4.3.1 Conjuntos difusos del CPD del sistema de riego

Para definir un conjunto difuso, se puede utilizar cualquier función de membrecía, sin

embargo, existen funciones que son más utilizadas debido a su simplicidad matemática,

entre ellas podemos mencionar las funciones de tipo triangular, trapezoidal, gaussiana,

Page 65: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 52

entre otras. En este sistema se eligió la forma triangular por mayor flexibilidad de

programación. Es importante mencionar que dependiendo de la elección de la forma de la

función de membrecía los resultados del controlador pueden variar considerablemente.

Consideremos como universo de discurso de la variable de entrada para el control del gasto

de la bomba el flujo total demandado por el sistema. Para clasificar los conjuntos difusos

del universo de discurso de esta variable de entrada, se proponen 7 conjuntos los cuales se

denotan como: demanda del gasto de 0 al 15%, demanda del gasto de 15 al 30%, demanda

del gasto de 30 al 45%, demanda del gasto de 45 al 60%, demanda del gasto de 60 al 75%,

demanda del gasto de 75 al 90% y demanda del gasto al 100%, los cuales se muestran en la

Figura 4.5.

Figura 4.5 Universo de discurso y conjuntos difusos para la demanda del gasto en el sistema.

El universo de discurso de la variable de salida es la demanda de presión de la bomba. Para

esta salida se proponen 7 conjuntos difusos los cuales son: demanda de presión del 0 al

15%, demanda de presión del 15 al 30 %, demanda de presión del 30 al 45%, demanda de

presión del 45 al 60%, demanda de presión del 60 al 75%, demanda de presión del 75 al

90%, demanda de presión del 90 al 100%. En la Figura 4.6 se aprecian las funciones de

membrecía propuestas.

Page 66: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 53

Figura 4.6 Universos de discurso y conjuntos difusos para la demanda de presión requerida por el

sistema.

Ahora, consideremos el universo de discurso del flujo demandado por la tubería gobernada

por la válvula 1. Consideremos también una variable lingüística para clasificar los

conjuntos difusos del universo de discurso de esta variable, la cual se divide en 7 conjuntos

difusos: error negativo alto gasto 1, error negativo medio gasto 1, error negativo pequeño

gasto 1, gasto 1 ideal, error positivo pequeño gasto 1, error positivo medio gasto 1 y error

positivo alto gasto 1, ver Figura 4.7.

Figura 4.7 Universos de discurso y conjuntos difusos para la demanda del gasto 1.

Page 67: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 54

El universo de discurso de las variables lingüísticas de apertura de la válvula 1 proporcional

son: Abrir la válvula 1 totalmente, abrir la válvula 1 medianamente, abrir la válvula 1 un

poco, mantener la válvula 1 igual, cerrar la válvula 1 un poco, cerrar la válvula 1

medianamente, cerrar la válvula 1 totalmente. En la Figura 4.8 se aprecia está definición de

variables lingüísticas.

Figura 4.8 Universos de discurso y conjuntos difusos para la apertura de la válvula 1.

Para obtener los universos de discurso para las válvulas 2 y 3 se hace de manera análoga a

lo mostrado para la válvula 1.

4.3.2 Mecanismo de inferencia del CPD

Así, teniendo los diferentes niveles de pertenencia arrojados por el fuzzificador, estos deben

ser procesados para generar una salida difusa. La tarea del sistema de inferencia es tomar

los niveles de pertenencia y apoyado en la base de reglas, generar la salida del sistema

difuso. La base de las reglas es la manera que tiene el sistema difuso de guardar el

conocimiento lingüístico que le permiten resolver el problema para el cual ha sido

diseñado, estas reglas son del tipo SI-ENTONCES (IF-THEN).

Para el CPD que controla la Presión de la bomba, la base de las reglas están dadas en la

Tabla 4.1, la cual contiene siete conjuntos de entrada difusos y siete conjuntos de salida

difusos.

Page 68: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 55

Tabla 4.1 Base de las reglas del CPD gasto-presión.

If QT is Smallest then P is Smallest

If QT is Small then P is Small

If QT is Medium then P is Medium

If QT is High then P is High

If QT is High Medium then P is High Medium

If QT is Very High then P is Very High

If QT is highest then P is Highest

Donde QT, es el gasto que demanda el sistema y P, es la presión requerida, la gráfica

generada por esta base de las reglas se muestra en la Figura 4.9.

Figura 4.9 Gráfica generada por la base de las reglas del CPD, Gasto-Presión.

Se puede apreciar, que la demanda de gasto del sistema requiere de una presión en forma

proporcional. Los rangos mostrados en la Figura 4.9, se eligieron arbitrariamente, siendo la

demanda máxima de gasto igual a 1000 lts/min y la demanda máxima de presión igual a

1000kg/cm2.

Page 69: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 56

Para el CPD que controla el gasto en cada una de las ramas paralelas de la tubería, se tiene

que la base de las reglas está dada en la Tabla 4.2, la cual contiene siete conjuntos de

entrada difusos y siete conjuntos de salida difusos.

Tabla 4.2 Base de las reglas del CPD para la apertura de las válvulas

If e is NB then O is PB

If e is NM then O is PM

If e is NS then O is PS

If e is ZE then O is ZE

If e is PS then O is NS

If e is PM then O is NM

If e is PB then O is NB

Donde e, es el error de gasto que demanda la rama paralela y O, es la apertura de la

válvula. La gráfica generada por la base de estas reglas se muestra en la Figura 4.10.

Figura 4.10 Gráfica generada por la base de las reglas del CPD para el control de la apertura de las

válvulas.

Como se puede ver en la Figura 4.10, si la demanda de gasto aumenta con respecto a un

valor actual, entonces es necesario reducir el valor de la resistencia hidráulica, es decir, es

necesario abrir la válvula de forma adecuada. Los rangos de la Figura 4.10, corresponden al

comportamiento ante la entrada para el gasto 1, mostrado en la Figura 4.11 (señal en color

rojo).

Page 70: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 57

4.3.3 Método de defuzificación del CPD

La defuzzificación es resultado del tipo de funciones de pertenencia y de la base de las

reglas que están dadas en la Tabla 4.1 y 4.2 respectivamente. En este trabajo se utilizó el

método del centroide para la defuzzificación.

4.4 Resultados obtenidos del CPD

Para mostrar los resultados obtenidos en este trabajo, en la Figura 4.11 se muestran las

entradas de referencia para cada rama paralela, las cuales muestran variaciones en

diferentes lapsos de tiempo.

Figura 4.11 Entradas variables de referencia para el gasto de las ramas paralelas.

En la Figura 4.11, se muestra la especificación de gasto propuesta para cada rama paralela.

Se eligieron esas entradas para que el sistema se comporte como desacoplado, esto es, que

ante variaciones de gasto en alguna rama paralela, las demás ramas paralelas no se vean

afectadas en su gasto. La tarea del experto es definir como es el comportamiento del

sistema para cumplir con estas especificaciones. En la Figura 4.12 se muestran los

resultados en la salida por el experto.

Page 71: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 58

Figura 4.12 Respuesta del experto ante la entrada de referencia.

Claramente, se aprecia que el experto responde satisfactoriamente, y es posible obtener

información sobre cómo se comportan las válvulas y la bomba del sistema real, teniendo

como objetivo de control el desacoplamiento, basándose en el error. Así mismo es posible

traducir este conocimiento lingüístico a un CPD, utilizando la información del error como

entrada y obteniendo como salida la posición de la válvula adecuada, así como la presión de

la bomba. A continuación se muestra el conocimiento experto o error.

Figura 4.13. Error de gasto para la tubería 1.

Page 72: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 59

Figura 4.14 Error de gasto para la tubería 2.

Figura 4.15 Error de gasto para la tubería 3.

Con este conocimiento experto del comportamiento de cada tubería mostrado en las Figuras

4.13, 4.14 y 4.15, es posible diseñar un controlador proporcional que consiga desacoplar el

sistema. A continuación se muestra el resultado del CPD, en donde se aprecia claramente

que el sistema está desacoplado, ver Figura 4.16.

Page 73: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 60

Figura 4.16 Resultados del controlador CPD.

Las entradas de referencia muestran cambios de demanda de gasto en cada rama paralela

mostrados en la Figura 4.11, de esta manera, el experto P, determina el comportamiento de

las válvulas y la bomba, lo cual se aprecia en la Figura 4.12, y por último, en la Figura 4.16,

se observa el buen funcionamiento del CPD, el cual consigue un comportamiento

desacoplado. También, en la siguiente Figura 4.17 se muestra la demanda de gasto - presión

determinada por el CPD.

Figura 4.17 Demanda Gasto-Presión, determinados por el CPD.

Page 74: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 61

En la Figura 4.17, se observa que la demanda de gasto requiere de una presión

proporcional suministrada por la bomba, es decir, la demanda de gasto se satisface en

proporción a la demanda, así el sistema cumple con el objetivo de desacoplamiento,

conseguido por el CPD. Por último, se muestran en la Figura 4.18, las referencias de gasto

para cada rama paralela, la respuesta del experto y el desempeño del CPD.

Figura 4.18 Respuesta del experto y CPD ante las entradas de referencia.

El diseño del CPD que logra el objetivo de desacoplar el sistema de riego está basado en la

extracción de información del comportamiento desacoplado del sistema de referencia que

es controlado por un control proporcional convencional, el cual determina el

comportamiento de las válvulas y el comportamiento de la bomba para cumplir con el

objetivo de control que en este caso es el flujo deseado en cada una de las tuberías.

El CPD logra el objetivo de desacoplar el sistema a partir de un conocimiento experto del

funcionamiento basado en el error entre el flujo deseado y el real. Lo anterior es importante

porque implica que se puede aplicar esta metodología para otro tipo de sistemas como los

no regulares, variantes en el tiempo, entre otros.

4.5 Factor de acoplamiento

Como se mencionó en el capítulo 1, en un sistema multivariable acoplado, las variables de

entrada-salida interactúan entre sí hasta cierto punto, lo que es conocido como el grado de

Page 75: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 62

interacción o factor de acoplamiento, el cual se puede calcular para establecer la magnitud

en que una entrada afecta a más de una salida, sin embargo no es posible modificar este

factor de acoplamiento en forma deseada. En esta sección se propone una forma de

modificar el grado de interacción en forma deseada basado en el conocimiento experto del

funcionamiento del sistema. Cabe mencionar, que la base del diseño del controlador no cambia,

solo cambia el informe experto.

4.5.1 Informe experto para el cambio del factor de acoplamiento

De igual manera, para diseñar un controlador difuso es necesario saber como es el

funcionamiento del sistema para lograr un objetivo específico de control que en este caso es

el cambio en el factor de acoplamiento. En la Figura 4.19 se muestran las referencias del

sistema.

Figura 4.19 Entradas propuestas de referencia para los gastos en cada rama paralela, la cual muestra

un cambio en la entrada de referencia 1.

La entrada de referencia 1 cambia de 400 lt/min a 500 lt/min, la cual tiene un incremento de

100 lt/min. Se desea afectar de manera deseada a todas las salidas debido a este cambio en

la entrada de referencia 1, eligiéndose los factores de acoplamiento como: Referencia 1 es

de 50 %, es decir 0.5; Referencia 2 es de 30 %, es decir, 0.3; Referencia 3 es de 20 %, es

decir 0.2. De acuerdo a lo anterior todas las referencias se modifican de la siguiente

Page 76: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 63

manera de acuerdo a los factores de acoplamiento propuestos, tal que el experto define la

siguiente respuesta a la salida, ver Figura 4.20.

Figura 4.20 Respuesta del experto ante los factores de acoplamiento propuestos.

De la respuesta del experto mostrada en la Figura 4.20, en la Figura 4.21, es posible extraer

la información del comportamiento del sistema en forma de error, y es posible diseñar un

CPD que consiga el objetivo de modificar el factor de acoplamiento. En la Figura 4.22,

4.23 y 4.24, se muestra el error de cada tubería.

Figura 4.21 Error de gasto para la tubería 1.

Page 77: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 64

Figura 4.22 Error de gasto para la tubería 2.

Figura 4.23 Error de gasto para la tubería 3.

Como se mencionó al principio de este capítulo, la base de las reglas del CPD que asigna

un factor de acoplamiento deseado al sistema, no cambia, lo único que cambia es el informe

experto el cual se mostró en las Figuras 4.21, 4.22 y 4.23. En la Figura 4.24, se muestra la

respuesta del CPD, el cual logra el objetivo de modificar en forma deseada el factor de

acoplamiento.

Page 78: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 65

Figura 4.24 Respuesta del Controlador Proporcional Difuso ante el factor de acoplamiento.

En la Figura 4.24 se puede ver que el CPD, desacopla parcialmente el sistema de tuberías

con un grado predeterminado, así mismo la base de las reglas del controlador no cambió,

solo fue necesario obtener el informe experto que lograba este objetivo de control. En la

Figura 4.25 se muestra la demanda gasto-presión del sistema, ante este requerimiento.

Figura 4.25 Demanda Gasto-Presión del sistema.

En esta sección se mostró la forma de modificar el grado del factor de acoplamiento de

forma deseada mediante un CPD teniendo resultados satisfactorios. El caso extremo del

grado de interacción es lograr el desacoplamiento, es decir, que una entrada afecta una sola

salida, en la siguiente sección se muestra la aplicación del desacoplamiento a un sistema de

riego por aspersión.

Page 79: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 66

4.6 Desacoplamiento de un sistema de riego por aspersión mediante un CPD

Las necesidades de agua en los sistemas de riego dependen del tipo de cultivo, clima

(lluvia, humedad, calor, etc.) y tipo de suelo (características físicas y químicas). Estos

aspectos representan las necesidades básicas, porque establecen entre sí las relaciones

fundamentales en lo que respecta al uso del agua por las plantas. Cada cultivo tiene sus

características particulares. La demanda de agua es variable con el cultivo, con el ciclo

vegetativo de la planta y el tiempo, y el espacio o cobertura que hace superficialmente la

planta. El clima fija la demanda de transporte de agua y maneja la necesidad de agua de las

plantas por medio de la lluvia, la humedad y el calor. El suelo de acuerdo a sus

características físicas y químicas, retendrá el agua con mayor o menor cantidad y rapidez.

De esta forma, para aumentar la eficiencia en el uso del agua y al mismo tiempo mejorar el

desarrollo de la siembra, se hace necesario adaptarse a las necesidades del cultivo,

condiciones climáticas y características del suelo, proporcionando de manera adecuada la

cantidad de agua que se requiere.

En la Figura 4.26, se muestra como ejemplo una superficie con varios cultivos, en donde las

necesidades de agua son variables.

Figura 4.26 Superficie de varios cultivos con diferentes necesidades de agua.

Page 80: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 67

Al avanzar el sistema de riego por dicha superficie, las necesidades de suministros en cada

cultivo son variables y es necesario que el sistema de riego se adapte a estos

requerimientos. En esta aplicación se puede ver que el sistema de riego debe funcionar de

manera desacoplada para cumplir con los requerimientos del cultivo, en este sistema se

propuso un CPD para no depender de un modelo matemático del sistema, si no únicamente

basarse en la información del error entre el flujo deseado y el real. De esta manera se logra

un mejor uso del agua y los cultivos se verán favorecidos ya que solo se administrará el

agua requerida.

Page 81: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 68

Capítulo 5. Conclusiones y trabajo a futuro

5.1 Conclusiones

Se diseñó un Controlador Proporcional Difuso (CPD) a partir del conocimiento experto del

error entre el flujo deseado y el real, para desacoplar el sistema de riego en paralelo

prescindiendo de un modelo matemático del sistema, obteniéndose un comportamiento

satisfactorio. Así mismo, con la misma base del controlador se logró modificar el factor de

acoplamiento en forma deseada. Es importante mencionar, que la metodología propuesta se

puede aplicar a otros sistemas siempre y cuando se cuente con la información del experto.

Actualmente los trabajos en lineales, no lineales, difusos, invariantes en el tiempo logran

desacoplar los sistemas basándose en el modelo matemático, es decir, se tienen que conocer

las ecuaciones dinámicas que aproximen en medida de lo posible el comportamiento real

del sistema. Sin embargo, esta tarea no siempre resulta fácil para el diseñador, pues cuando

en el sistema intervienen una gran cantidad de variables, obtener una representación será

una tarea difícil, e incluso en algunos casos la solución general no existe. Por lo tanto, el

enfoque propuesto basado en la lógica difusa presenta una alternativa de solución viable al

problema de desacoplamiento.

5.2 Trabajo a futuro

La alternativa presentada para modificar el factor de acoplamiento, así como lograr el

desacoplamiento, puede ser implementada en sistemas de control en los cuales, conseguir

alguno de los objetivos mencionados, pueda causar dificultad matemática. Asi mismo, con

la base del CPD, queda pendiente tratar a sistemas multivariables no regulares.

Page 82: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 69

REFERENCIAS

[1] B.S Morgan Jr., The synthesis of linear multivariable systems by state-variable

feedback. IEEE trans. Automat. Contr., vol. AC-9, pp. 405-411,1964.

[2] P.L. Falb and W.A. Wolovich. Decoupling in the desing and synthesis of

multivariable control systems. SIAM Journal Contr. Optimiz., vol. AC-12, (no. 6),

pp.651-669,1967.

[3] W.M. Wonham, and A.S Morse, Decoupling and pole assignment in linear

multivariable systems: A geometric approach. SIAM J. Contr. 8, 1-18, 1970.

[4] A.S. Morse, W.M. Wonham. Status of Noninteracting Control. IEEE Trans. Automat.

Ctrl., Vol. AC-16, No. 6, pp. 568-581, 1971.

[5] J. Descusse and J.M Dion. On the structure at infinity of linear square decoupled

systems. IEEE Trans. Automat. Contr., vol. AC-27, pp. 971-974, 1982.

[6] J. Descusse, J.F. Lafay, M. Malabre, Solution of the static-state feedback decoupling

problem for linear systems with two outputs. IEEE Trans. Automat. Ctrl., vol. AC-30,

no. 9, pp. 914-918, 1985.

[7] J. Descusse, J.F. Lafay and M. Malabre. Solution to Morgan’s problem. IEEE trans.

Automat. Contr., vol. 33, no. 8, pp. 732-739, 1988.

[8] J.M. Dion, C. Commault. The Minimal Delay Decoupling Problem: Feedback

Implementation with Stability. SIAM J. Contr. Optimiz., Vol. 26, No. 1, pp. 66-82,

1988.

[9] J.J. Loiseau. Sur la modification de la structure a` l’infini par un retour d’etat statique.

SIAM J. Contr. Optimiz. vol. 26, no. 2, pp. 251-273, 1988.

[10] Xu, C.W.; , "Decoupling fuzzy relational systems-an output feedback approach,"

Systems, Man and Cybernetics, IEEE Transactions on , vol.19, no.2, pp.414-418,

Mar/Apr 1989

[11] Foster, G.T.; Kambhampati, C.; Warwick, K.; , "Quasi-decoupled fuzzy logic

controller," Intelligent Control, 1992., Proceedings of the 1992 IEEE International

Symposium on , vol., no., pp.366-371, 11-13 Aug 1992

[12] A.N. Herrera, J. Torres y J. Ruiz. The nonregular Morgan’s problem: a polinomial

solution for the case of two outputs. Proc. 2nd. ECC, vol. 4, pp. 2275-2278,

Groningen, The Netherlands, 1993.

Page 83: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 70

[13] P. Zagalak, J.F Lafay and A.Herrera. The row by row Decoupling via State Feedback:

A Polynomial Approach. Automatica, vol. 29, no. 6, pp. 1491-1499, 1993.

[14] A.N. Herrera and J.F. Lafay New results about the Morgan’s problem. IEEE Trans.

Automat. Contr., vol. 38, no. 12, pp. 1834-1838, 1993.

[15] A.N. Herrera, Static realization of dynamic precompensators. IEEE Trns Automat.

Contr., vol. 38, no. 12, pp. 1834-1838, 1993.

[16] de Silva, Clarence W., "Knowledge Base Decoupling in Fuzzy-Logic Control

Systems," American Control Conference, 1993, San Francisco, California, U.S.A.,

vol., no., pp.760-764, 2-4 June 1993

[17] J. Ruiz, P. Zagalak, V. Eldem. On the Problem of Decoupling. Proc. 3rd IFAC

Conference on System Structure and Control, pp. 611-616, Nantes, France, 1995.

[18] A.N. Herrera, J.F. Lafay y P. Zagalak. A semi-canonical form for a class of right

invertible systems. Proc. 3rd IFAC Conf. on System Structure and Control, pp. 590-

594, 1995.

[19] J. Ruiz. Decoupling of Linear Systems. PhD dissertation, Czech Technical University,

Czech Republic, 1996.

[20] F.G. Shinskey, Sistemas de control de procesos, Aplicación, diseño y sintonización,

Mc Graw Hill, 1996

[21] Nie, J.; "Fuzzy control of multivariable nonlinear servomechanisms with explicit

decoupling scheme," Fuzzy Systems, IEEE Transactions on , vol.5, no.2, pp.304-311,

May 1997

[22] Kevin M. Passino, Stephen Yurkovich, Fuzzy Control. Addison Wesley Longman

1998.

[23] J.L. Orozco M. Desacoplamiento de sistemas lineales: el caso de sistemas decalados

y el caso general. Tesis de doctorado, CINVESTAV Unidad Guadalajara, Jalisco,

México 2005.

[24] J. Ruiz-León, Jorge Luis Orozco, and Ofelia Begovich, Closed-loop structure of

decouplable linear multivariable systems. Kybernetika, Vol. 41 No. 1, pag. 33-45,

2005.

[25] Juan Saldarriaga, Hidráulica de tuberías, abastecimiento de agua, redes, riegos, 1ra

ed., Bogotá, D. C. Alfaomega, 2007, p.p. 273 y 274.

Page 84: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 71

[26] Jie-sheng Wang; , "Self-Tuning Multivariable PID Decoupling Controller of Ball Mill

Pulverizing System," Natural Computation, 2007. ICNC 2007. IEEE Conference

Publications, Third International Conference on, vol.4, no., pp.738-742, 24-27 Aug.

2007

[27] Yongqiang Guo; Kangling Fang; Hongjun Zhou; , "Design of fuzzy feed-forward

decoupling controller based on error," Intelligent Control and Automation, 2008.

WCICA 2008, Chongqing, China. 7th World Congress on, vol., no., pp.6101-6106,

25-27 June 2008

[28] Gao Qiang; Pan Hongxia; , "Leveling control technology of hydraulic system based

on fuzzy decoupling algorithm," Networking and Information Technology (ICNIT),

2010 International Conference on , vol., no., pp.314-318, 11-12 June 2010

[29] Jia Wang; Chao-Ying Liu; Xue-Ling Song; Zhe-Ying Song; , "A realization method

for fuzzy decoupling control of the Circulating Fluidized Bed Boiler," Machine

Learning and Cybernetics (ICMLC), 2011 International Conference on , vol.1, no.,

pp.166-171, 10-13 July 2011

[30] J. A. Delgado A., J. L. Orozco M., E. Ruiz-Beltrán and J. A. Calderón-Martínez,

“Desacoplamiento mediante un PD difuso aplicado a un sistema de tanques”, en

Reunión de Verano de Potencia y Aplicaciones Industriales (25th, 2011, Guerrero,

México). RVP-AI, IEEE, Power Engineering Society and Industry Aplications Conf.,

AI-25.

[31] J. A. Delgado A., J. A. Jáuregui A.,E. Ramírez V., S. E. Luna C., J. L. Orozco M.,

“Aplicación del desacoplamiento regular a un circuito eléctrico”, en 13 th Reunión de

Otoño de Potencia, Electrónica y Computación, (2011).ROPEC, Morelia, Michoacán,

México, IEEE.

[32] J. A. Delgado A., J. L. Orozco M. and E. Ruiz-Beltrán, “Solución al problema de

desacoplamiento mediante un Controlador Proporcional Difuso de un sistema regular

de riego con tuberías en paralelo”, (2012), Revista: Ingeniería, Investigación y

Tecnología UNAM. En revisión.

[33] Liu Chen Hui, General decoupling theory of multivariable process control systems,

springer-Verlag, 1983.

Page 85: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 72

[34] Edgar H. Bristol, On a new measure of interaction for multivariable process control,

IEEE, Transaction on Automatic control, vol.11, no.1, pp.133-134, June 1966.

[35] Fuzzy Logic. Intelligence, Control and Information. John Yen & Reza Langari.

Prentice Hall. 1999.

[36] Neuro-Fuzzy and Soft Computing. J.-S. R. Jang, C.-T. Sun & E. Mizutani. Prentice

Hall. Matlab Curriculum Series. 1997.

[37] Fuzzy and Neural Approaches in Engineering. Lefteri H. Tsoukalas, Robert E. Uhrig.

John Wiley & Sons, Inc. 1997.

[38] Pattern Recognition. S. Theodoridis & K. Koutroumbas. Academic Press. 1999.

Page 86: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 73

Anexo 1

“Programa en MATLAB para el desacoplamiento y

cambio del factor de acoplamiento del sistema de

tuberías” %------------------------------------------------------------------------

% MAESTRÍA EN CIENCIAS EN INGENIERÍA ELÉCTRICA

% Alumno: Jorge Alejandro Delgado Aguiñaga

% Tesis: Acoplamiento y desacoplamiento difuso de sistemas

% regulares

% PROGRAMA PARA EL DESACOPLAMIENTO Y CAMBIO DEL FACTOR DE

% ACOPLAMIENTO CON UN CONTROLADOR PROPORCIONAL DIFUSO DE 7

% FUNCIONES DE PERTENENCIA Y 7 REGLAS.

%

%------------------------------------------------------------------------

clear all

close all

clc

%------------------------------------------------------------------------

% Constantes del sistema para el desacoplamiento total

%------------------------------------------------------------------------

%------------------------------------------------------------------------

% Determinación de los gastos

%------------------------------------------------------------------------

it=input('ingrese el valor del gasto maximo deseado, maximo 1000: ');

if it>1000

it=input('ingrese el valor del gasto máximo deseado, maximo 1000: ');

else

it=it

end

ia=input('valor maximo del gasto 1: ');

if ia<it

ia=ia

else

disp('el valor maximo del gasto 1 debe ser menor a la capacidad total, ingrese otro valor')

ia=input('valor maximo del gasto 1: ');

end

ib=input('valor maximo del gasto 2: ');

if ib<(it-ia)

ib=ib

else

disp('el valor maximo del gasto 2 debe ser menor, ingrese otro valor: ')

ib=input('valor maximo del gasto 2: ');

end

ic=input('valor maximo del gasto 3: ');

if ic<=(it-ia-ib)

ic=ic

else

disp('el valor maximo del gasto 3 debe ser menor, ingrese otro valor: ')

Page 87: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 74

ic=input('valor maximo del gasto 3: ');

end

%------------------------------------------------------------------------

% Ganacias para el experto

%------------------------------------------------------------------------

kp1=1;

ki1=0;

kd1=0;

kn1=0;

kp2=1;

ki2=0;

kd2=0;

kn2=0;

kp3=1;

ki3=0;

kd3=0;

kn3=0;

v1max=input('ingrese el valor maximo de la presión total: ')

if v1max>it

v1max=input('ingrese otro valor de la presión total: ')

else

v1max=v1max;

end

v1min=0;

c1min=0;

%------------------------------------------------------------------------

disp('ejecute el programa desacoplamiento total del sistema para extraer los universos de discurso para el

control fuzzy')

%------------------------------------------------------------------------

corriente_total=corriente1+corriente2+corriente3;

c1max=max(corriente_total);

%------------------------------------------------------------------------

% Diseño del CPD para la demanda gasto-presión

%------------------------------------------------------------------------

v=newfis('voltaje_fuzzy');

v.input(1).name='GASTO TOTAL DEMANDADO';

v.input(1).range=[c1min c1max];

v.input(1).mf(1).name='al 15%';

v.input(1).mf(1).type='trimf';

v.input(1).mf(1).params=[-((c1max-c1min)/6) c1min c1min+((c1max-c1min)/6)];

v.input(1).mf(2).name='al 30%';

v.input(1).mf(2).type='trimf';

v.input(1).mf(2).params=[c1min c1min+((c1max-c1min)/6) c1min+((c1max-c1min)/6)*2];

v.input(1).mf(3).name='al 45%';

v.input(1).mf(3).type='trimf';

v.input(1).mf(3).params=[c1min+((c1max-c1min)/6) c1min+((c1max-c1min)/6)*2 c1min+((c1max-

c1min)/6)*3];

v.input(1).mf(4).name='al 60%';

Page 88: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 75

v.input(1).mf(4).type='trimf';

v.input(1).mf(4).params=[c1min+((c1max-c1min)/6)*2 c1min+((c1max-c1min)/6)*3 c1min+((c1max-

c1min)/6)*4];

v.input(1).mf(5).name='al 75%';

v.input(1).mf(5).type='trimf';

v.input(1).mf(5).params=[c1min+((c1max-c1min)/6)*3 c1min+((c1max-c1min)/6)*4 c1min+((c1max-

c1min)/6)*5];

v.input(1).mf(6).name='al 90%';

v.input(1).mf(6).type='trimf';

v.input(1).mf(6).params=[c1min+((c1max-c1min)/6)*4 c1min+((c1max-c1min)/6)*5 c1min+((c1max-

c1min)/6)*6];

v.input(1).mf(7).name='al 100%';

v.input(1).mf(7).type='trimf';

v.input(1).mf(7).params=[c1min+((c1max-c1min)/6)*5 c1max c1max+((c1max-c1min)/6)];

figure(1)

plotmf(v,'input',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE GASTO DEL SISTEMA')

v.output(1).name='PRESIÓN TOTAL REQUERIDA';

v.output(1).range=[v1min v1max];

v.output(1).mf(1).name='al 15%';

v.output(1).mf(1).type='trimf';

v.output(1).mf(1).params=[-((v1max-v1min)/6) v1min v1min+((v1max-v1min)/6)];

v.output(1).mf(2).name='al 30%';

v.output(1).mf(2).type='trimf';

v.output(1).mf(2).params=[v1min v1min+((v1max-v1min)/6) v1min+((v1max-v1min)/6)*2];

v.output(1).mf(3).name='al 45%';

v.output(1).mf(3).type='trimf';

v.output(1).mf(3).params=[v1min+((v1max-v1min)/6) v1min+((v1max-v1min)/6)*2 v1min+((v1max-

v1min)/6)*3];

v.output(1).mf(4).name='al 60%';

v.output(1).mf(4).type='trimf';

v.output(1).mf(4).params=[v1min+((v1max-v1min)/6)*2 v1min+((v1max-v1min)/6)*3 v1min+((v1max-

v1min)/6)*4];

v.output(1).mf(5).name='al 75%';

v.output(1).mf(5).type='trimf';

v.output(1).mf(5).params=[v1min+((v1max-v1min)/6)*3 v1min+((v1max-v1min)/6)*4 v1min+((v1max-

v1min)/6)*5];

v.output(1).mf(6).name='al 90%';

v.output(1).mf(6).type='trimf';

v.output(1).mf(6).params=[v1min+((v1max-v1min)/6)*4 v1min+((v1max-v1min)/6)*5 v1min+((v1max-

v1min)/6)*6];

v.output(1).mf(7).name='al 100%';

v.output(1).mf(7).type='trimf';

v.output(1).mf(7).params=[v1min+((v1max-v1min)/6)*5 v1max v1max+((v1max-v1min)/6)];

figure(2)

plotmf(v,'output',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE PRESIÓN PARA LA BOMBA')

v.rule(1).antecedent=[1];

v.rule(1).consequent=[1];

v.rule(1).weight=1;

v.rule(1).connection=1;

v.rule(2).antecedent=[2];

Page 89: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 76

v.rule(2).consequent=[2];

v.rule(2).weight=1;

v.rule(2).connection=1;

v.rule(3).antecedent=[3];

v.rule(3).consequent=[3];

v.rule(3).weight=1;

v.rule(3).connection=1

v.rule(4).antecedent=[4];

v.rule(4).consequent=[4];

v.rule(4).weight=1;

v.rule(4).connection=1

v.rule(5).antecedent=[5];

v.rule(5).consequent=[5];

v.rule(5).weight=1;

v.rule(5).connection=1

v.rule(6).antecedent=[6];

v.rule(6).consequent=[6];

v.rule(6).weight=1;

v.rule(6).connection=1

v.rule(7).antecedent=[7];

v.rule(7).consequent=[7];

v.rule(7).weight=1;

v.rule(7).connection=1

ruleedit(v);

%------------------------------------------------------------------------

% Elección de los universos de discurso para el control fuzzy

%------------------------------------------------------------------------

e1min=min(e1);

e1max=max(e1);

e2min=min(e2);

e2max=max(e2);

e3min=min(e3);

e3max=max(e3);

r1min=min(valvula_pid_1);

r1max=max(valvula_pid_1);

r2min=min(valvula_pid_2);

r2max=max(valvula_pid_2);

r3min=min(valvula_pid_3);

r3max=max(valvula_pid_3);

%------------------------------------------------------------------------

% Definición del CPD para la apertura de las válvulas

%------------------------------------------------------------------------

a=newfis('fuzzy_proporcional_1');

a.input(1).name='FLOW ERROR 1';

a.input(1).range=[e1min e1max];

a.input(1).mf(1).name='high negative';

a.input(1).mf(1).type='trimf';

a.input(1).mf(1).params=[-((e1max-e1min)/6) e1min e1min+((e1max-e1min)/6)];

Page 90: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 77

a.input(1).mf(2).name='medium negative';

a.input(1).mf(2).type='trimf';

a.input(1).mf(2).params=[e1min e1min+((e1max-e1min)/6) e1min+((e1max-e1min)/6)*2];

a.input(1).mf(3).name='small negative';

a.input(1).mf(3).type='trimf';

a.input(1).mf(3).params=[e1min+((e1max-e1min)/6) e1min+((e1max-e1min)/6)*2 e1min+((e1max-

e1min)/6)*3];

a.input(1).mf(4).name='ideal flow';

a.input(1).mf(4).type='trimf';

a.input(1).mf(4).params=[e1min+((e1max-e1min)/6)*2 e1min+((e1max-e1min)/6)*3 e1min+((e1max-

e1min)/6)*4];

a.input(1).mf(5).name='small positive';

a.input(1).mf(5).type='trimf';

a.input(1).mf(5).params=[e1min+((e1max-e1min)/6)*3 e1min+((e1max-e1min)/6)*4 e1min+((e1max-

e1min)/6)*5];

a.input(1).mf(6).name='medium positive';

a.input(1).mf(6).type='trimf';

a.input(1).mf(6).params=[e1min+((e1max-e1min)/6)*4 e1min+((e1max-e1min)/6)*5 e1min+((e1max-

e1min)/6)*6];

a.input(1).mf(7).name='high positive';

a.input(1).mf(7).type='trimf';

a.input(1).mf(7).params=[e1min+((e1max-e1min)/6)*5 e1max e1max+((e1max-e1min)/6)];

figure(3)

plotmf(a,'input',1)

title('UNIVERSE OF DISCURSE FOR FLOW ERROR 1')

a.output(1).name='OPENING VALVE 1';

a.output(1).range=[r1min r1max];

a.output(1).mf(1).name='close completely'

a.output(1).mf(1).type='trimf';

a.output(1).mf(1).params=[-((r1max-r1min)/6) r1min r1min+((r1max-r1min)/6)];

a.output(1).mf(2).name='medium close';

a.output(1).mf(2).type='trimf';

a.output(1).mf(2).params=[r1min r1min+((r1max-r1min)/6) r1min+((r1max-r1min)/6)*2];

a.output(1).mf(3).name='close a little';

a.output(1).mf(3).type='trimf';

a.output(1).mf(3).params=[r1min+((r1max-r1min)/6) r1min+((r1max-r1min)/6)*2 r1min+((r1max-

r1min)/6)*3];

a.output(1).mf(4).name='maintain';

a.output(1).mf(4).type='trimf';

a.output(1).mf(4).params=[r1min+((r1max-r1min)/6)*2 r1min+((r1max-r1min)/6)*3 r1min+((r1max-

r1min)/6)*4];

a.output(1).mf(5).name='open a little';

a.output(1).mf(5).type='trimf';

a.output(1).mf(5).params=[r1min+((r1max-r1min)/6)*3 r1min+((r1max-r1min)/6)*4 r1min+((r1max-

r1min)/6)*5];

a.output(1).mf(6).name='medium open';

a.output(1).mf(6).type='trimf';

a.output(1).mf(6).params=[r1min+((r1max-r1min)/6)*4 r1min+((r1max-r1min)/6)*5 r1min+((r1max-

r1min)/6)*6];

a.output(1).mf(7).name='open completely';

a.output(1).mf(7).type='trimf';

a.output(1).mf(7).params=[r1min+((r1max-r1min)/6)*5 r1max r1max+((r1max-r1min)/6)];

figure(4)

Page 91: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 78

plotmf(a,'output',1)

title('UNIVERSE OF DISCURSE FOR OPENING VALVE 1')

a.rule(1).antecedent=[1];

a.rule(1).consequent=[7];

a.rule(1).weight=1;

a.rule(1).connection=1;

a.rule(2).antecedent=[2];

a.rule(2).consequent=[6];

a.rule(2).weight=1;

a.rule(2).connection=1;

a.rule(3).antecedent=[3];

a.rule(3).consequent=[5];

a.rule(3).weight=1;

a.rule(3).connection=1

a.rule(4).antecedent=[4];

a.rule(4).consequent=[4];

a.rule(4).weight=1;

a.rule(4).connection=1

a.rule(5).antecedent=[5];

a.rule(5).consequent=[3];

a.rule(5).weight=1;

a.rule(5).connection=1

a.rule(6).antecedent=[6];

a.rule(6).consequent=[2];

a.rule(6).weight=1;

a.rule(6).connection=1

a.rule(7).antecedent=[7];

a.rule(7).consequent=[1];

a.rule(7).weight=1;

a.rule(7).connection=1

ruleedit(a);

%------------------------------------------------------------------------

% El CPD para la válvula 2:

%------------------------------------------------------------------------

b=newfis('fuzzy_proporcional_2');

b.input(1).name='FLOW ERROR 2';

b.input(1).range=[e2min e2max];

b.input(1).mf(1).name='high negative';

b.input(1).mf(1).type='trimf';

b.input(1).mf(1).params=[-((e2max-e2min)/6) e2min e2min+((e2max-e2min)/6)];

b.input(1).mf(2).name='medium negative';

b.input(1).mf(2).type='trimf';

b.input(1).mf(2).params=[e2min e2min+((e2max-e2min)/6) e2min+((e2max-e2min)/6)*2];

b.input(1).mf(3).name='small negative';

b.input(1).mf(3).type='trimf';

b.input(1).mf(3).params=[e2min+((e2max-e2min)/6) e2min+((e2max-e2min)/6)*2 e2min+((e2max-

e2min)/6)*3];

b.input(1).mf(4).name='ideal flow';

b.input(1).mf(4).type='trimf';

b.input(1).mf(4).params=[e2min+((e2max-e2min)/6)*2 e2min+((e2max-e2min)/6)*3 e2min+((e2max-

e2min)/6)*4];

b.input(1).mf(5).name='small positive';

b.input(1).mf(5).type='trimf';

Page 92: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 79

b.input(1).mf(5).params=[e2min+((e2max-e2min)/6)*3 e2min+((e2max-e2min)/6)*4 e2min+((e2max-

e2min)/6)*5];

b.input(1).mf(6).name='medium positive';

b.input(1).mf(6).type='trimf';

b.input(1).mf(6).params=[e2min+((e2max-e2min)/6)*4 e2min+((e2max-e2min)/6)*5 e2min+((e2max-

e2min)/6)*6];

b.input(1).mf(7).name='high positive';

b.input(1).mf(7).type='trimf';

b.input(1).mf(7).params=[e2min+((e2max-e2min)/6)*5 e2max e2max+((e2max-e2min)/6)];

figure(5)

plotmf(b,'input',1)

title('UNIVERSE OF DISCURSE FOR FLOW ERROR 2')

b.output(1).name='OPENING VALVE 2';

b.output(1).range=[r2min r2max];

b.output(1).mf(1).name='close completely'

b.output(1).mf(1).type='trimf';

b.output(1).mf(1).params=[-((r2max-r2min)/6) r2min r2min+((r2max-r2min)/6)];

b.output(1).mf(2).name='medium close';

b.output(1).mf(2).type='trimf';

b.output(1).mf(2).params=[r2min r2min+((r2max-r2min)/6) r2min+((r2max-r2min)/6)*2];

b.output(1).mf(3).name='close a little';

b.output(1).mf(3).type='trimf';

b.output(1).mf(3).params=[r2min+((r2max-r2min)/6) r2min+((r2max-r2min)/6)*2 r2min+((r2max-

r2min)/6)*3];

b.output(1).mf(4).name='maintain';

b.output(1).mf(4).type='trimf';

b.output(1).mf(4).params=[r2min+((r2max-r2min)/6)*2 r2min+((r2max-r2min)/6)*3 r2min+((r2max-

r2min)/6)*4];

b.output(1).mf(5).name='open a little';

b.output(1).mf(5).type='trimf';

b.output(1).mf(5).params=[r2min+((r2max-r2min)/6)*3 r2min+((r2max-r2min)/6)*4 r2min+((r2max-

r2min)/6)*5];

b.output(1).mf(6).name='medium open';

b.output(1).mf(6).type='trimf';

b.output(1).mf(6).params=[r2min+((r2max-r2min)/6)*4 r2min+((r2max-r2min)/6)*5 r2min+((r2max-

r2min)/6)*6];

b.output(1).mf(7).name='open completely';

b.output(1).mf(7).type='trimf';

b.output(1).mf(7).params=[r2min+((r2max-r2min)/6)*5 r2max r2max+((r2max-r2min)/6)];

figure(6)

plotmf(b,'output',1)

title('UNIVERSE OF DISCURSE FOR OPENING VALVE 2')

b.rule(1).antecedent=[1];

b.rule(1).consequent=[7];

b.rule(1).weight=1;

b.rule(1).connection=1;

b.rule(2).antecedent=[2];

b.rule(2).consequent=[6];

b.rule(2).weight=1;

b.rule(2).connection=1;

b.rule(3).antecedent=[3];

b.rule(3).consequent=[5];

Page 93: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 80

b.rule(3).weight=1;

b.rule(3).connection=1

b.rule(4).antecedent=[4];

b.rule(4).consequent=[4];

b.rule(4).weight=1;

b.rule(4).connection=1

b.rule(5).antecedent=[5];

b.rule(5).consequent=[3];

b.rule(5).weight=1;

b.rule(5).connection=1

b.rule(6).antecedent=[6];

b.rule(6).consequent=[2];

b.rule(6).weight=1;

b.rule(6).connection=1

b.rule(7).antecedent=[7];

b.rule(7).consequent=[1];

b.rule(7).weight=1;

b.rule(7).connection=1

ruleedit(b);

%------------------------------------------------------------------------

% El CPD para la válvula 3 es:

%------------------------------------------------------------------------

c=newfis('fuzzy_proporcional_3');

c.input(1).name='FLOW ERROR 3';

c.input(1).range=[e3min e3max];

c.input(1).mf(1).name='high negative';

c.input(1).mf(1).type='trimf';

c.input(1).mf(1).params=[-((e3max-e3min)/6) e3min e3min+((e3max-e3min)/6)];

c.input(1).mf(2).name='medium negative';

c.input(1).mf(2).type='trimf';

c.input(1).mf(2).params=[e3min e3min+((e3max-e3min)/6) e3min+((e3max-e3min)/6)*2];

c.input(1).mf(3).name='small negative';

c.input(1).mf(3).type='trimf';

c.input(1).mf(3).params=[e3min+((e3max-e3min)/6) e3min+((e3max-e3min)/6)*2 e3min+((e3max-

e3min)/6)*3];

c.input(1).mf(4).name='ideal flow';

c.input(1).mf(4).type='trimf';

c.input(1).mf(4).params=[e3min+((e3max-e3min)/6)*2 e3min+((e3max-e3min)/6)*3 e3min+((e3max-

e3min)/6)*4];

c.input(1).mf(5).name='small positive';

c.input(1).mf(5).type='trimf';

c.input(1).mf(5).params=[e3min+((e3max-e3min)/6)*3 e3min+((e3max-e3min)/6)*4 e3min+((e3max-

e3min)/6)*5];

c.input(1).mf(6).name='medium positive';

c.input(1).mf(6).type='trimf';

c.input(1).mf(6).params=[e3min+((e3max-e3min)/6)*4 e3min+((e3max-e3min)/6)*5 e3min+((e3max-

e3min)/6)*6];

c.input(1).mf(7).name='high positive';

c.input(1).mf(7).type='trimf';

c.input(1).mf(7).params=[e3min+((e3max-e3min)/6)*5 e3max e3max+((e3max-e3min)/6)];

figure(7)

plotmf(c,'input',1)

Page 94: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 81

title('UNIVERSE OF DISCURSE FOR FLOW ERROR 3')

c.output(1).name='OPENING VALVE 3';

c.output(1).range=[r3min r3max];

c.output(1).mf(1).name='close completely'

c.output(1).mf(1).type='trimf';

c.output(1).mf(1).params=[-((r3max-r3min)/6) r3min r3min+((r3max-r3min)/6)];

c.output(1).mf(2).name='medium close';

c.output(1).mf(2).type='trimf';

c.output(1).mf(2).params=[r3min r3min+((r3max-r3min)/6) r3min+((r3max-r3min)/6)*2];

c.output(1).mf(3).name='close a little';

c.output(1).mf(3).type='trimf';

c.output(1).mf(3).params=[r3min+((r3max-r3min)/6) r3min+((r3max-r3min)/6)*2 r3min+((r3max-

r3min)/6)*3];

c.output(1).mf(4).name='maintain';

c.output(1).mf(4).type='trimf';

c.output(1).mf(4).params=[r3min+((r3max-r3min)/6)*2 r3min+((r3max-r3min)/6)*3 r3min+((r3max-

r3min)/6)*4];

c.output(1).mf(5).name='open a little';

c.output(1).mf(5).type='trimf';

c.output(1).mf(5).params=[r3min+((r3max-r3min)/6)*3 r3min+((r3max-r3min)/6)*4 r3min+((r3max-

r3min)/6)*5];

c.output(1).mf(6).name='medium open';

c.output(1).mf(6).type='trimf';

c.output(1).mf(6).params=[r3min+((r3max-r3min)/6)*4 r3min+((r3max-r3min)/6)*5 r3min+((r3max-

r3min)/6)*6];

c.output(1).mf(7).name='open completely';

c.output(1).mf(7).type='trimf';

c.output(1).mf(7).params=[r3min+((r3max-r3min)/6)*5 r3max r3max+((r3max-r3min)/6)];

figure(8)

plotmf(c,'output',1)

title('UNIVERSE OF DISCURSE FOR THE OPENING OF THE VALVE 3')

c.rule(1).antecedent=[1];

c.rule(1).consequent=[7];

c.rule(1).weight=1;

c.rule(1).connection=1;

c.rule(2).antecedent=[2];

c.rule(2).consequent=[6];

c.rule(2).weight=1;

c.rule(2).connection=1;

c.rule(3).antecedent=[3];

c.rule(3).consequent=[5];

c.rule(3).weight=1;

c.rule(3).connection=1

c.rule(4).antecedent=[4];

c.rule(4).consequent=[4];

c.rule(4).weight=1;

c.rule(4).connection=1

c.rule(5).antecedent=[5];

c.rule(5).consequent=[3];

c.rule(5).weight=1;

c.rule(5).connection=1

c.rule(6).antecedent=[6];

c.rule(6).consequent=[2];

Page 95: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 82

c.rule(6).weight=1;

c.rule(6).connection=1

c.rule(7).antecedent=[7];

c.rule(7).consequent=[1];

c.rule(7).weight=1;

c.rule(7).connection=1

ruleedit(c);

%------------------------------------------------------------------------

disp('ejecute el programa en simulink elección de la valvula fuzzy, elección del voltaje fuzzy y corriente fuzzy

')

%------------------------------------------------------------------------

%------------------------------------------------------------------------

% FACTOR DE ACOPLAMIENTO

%------------------------------------------------------------------------

factor_total=1;

factor1=input('ingrese factor de acoplamiento para gasto 1 entre 0 y 1: ')

if factor1>factor_total

factor1=input('ingrese otro valor: ')

else

factor1=factor1

end

factor2=input('ingrese factor de acoplamiento para gasto 2 entre 0 y 1: ')

if factor2>(factor_total-factor1)

factor2=input('ingrese otro valor: ')

else

factor2=factor2

end

factor3=input('ingrese factor de acoplamiento para gasto 3 entre 0 y 1: ')

if factor3>(factor_total-factor1-factor2)

factor3=input('ingrese otro valor')

else

factor3=factor3

end

%------------------------------------------------------------------------

% Cambio de las salidas por un factor de acoplamiento en el gasto 1

%------------------------------------------------------------------------

cambio_ia=input('ingrese el cambio en la corriente 1: ')

if cambio_ia>0

iafc=400

ia_fc=iafc+(cambio_ia*factor1);

ibfc=300

ib_fc=ibfc+(cambio_ia*factor2);

icfc=100

ic_fc=icfc+(cambio_ia*factor3);

else

cambio_ia=0

end

%------------------------------------------------------------------------

% Cambio de las salidas por un factor de acoplamiento en el gasto 2

Page 96: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 83

%------------------------------------------------------------------------

cambio_ib=input('ingrese el cambio en la gasto 2: ')

if cambio_ib>0

iafc=400

ia_fc=iafc+(cambio_ib*factor1);

ibfc=300

ib_fc=ibfc+(cambio_ib*factor2);

icfc=100

ic_fc=icfc+(cambio_ib*factor3);

else

cambio_ib=0

end

%------------------------------------------------------------------------

% Cambio de las salidas por un factor de acoplamiento en el gasto 3

%------------------------------------------------------------------------

cambio_ic=input('ingrese el cambio en la gasto 3: ')

if cambio_ic>0

iafc=400

ia_fc=iafc+(cambio_ic*factor1);

ibfc=300

ib_fc=ibfc+(cambio_ic*factor2);

icfc=100

ic_fc=icfc+(cambio_ic*factor3);

else

cambio_ic=0

it_fc=ia_fc+ib_fc+ic_fc;

end

%------------------------------------------------------------------------

% Determinación gasto_presión, factor de acoplamiento

%------------------------------------------------------------------------

v1_fcmax=ia_fc+ib_fc+ic_fc;

v1_fcmin=0;

c1_fcmin=0;

%------------------------------------------------------------------------

disp('ejecute el programa para extraer los universos de discurso para el control fuzzy, factor de acoplamiento')

%------------------------------------------------------------------------

corriente_total_fc=corriente1_fc+corriente2_fc+corriente3_fc;

c1_fcmax=max(corriente_total_fc);

%------------------------------------------------------------------------

% CPD gasto-presión, factor de acoplamiento

%------------------------------------------------------------------------

v_fc=newfis('voltaje_fuzzy_factor_coupling');

v_fc.input(1).name='TOTAL FLOW REQUIRED, FACTOR COUPLING';

v_fc.input(1).range=[c1_fcmin c1_fcmax];

v_fc.input(1).mf(1).name='to 15%';

v_fc.input(1).mf(1).type='trimf';

v_fc.input(1).mf(1).params=[-((c1_fcmax-c1_fcmin)/6) c1_fcmin c1_fcmin+((c1_fcmax-c1_fcmin)/6)];

v_fc.input(1).mf(2).name='to 30%';

v_fc.input(1).mf(2).type='trimf';

v_fc.input(1).mf(2).params=[c1_fcmin c1_fcmin+((c1_fcmax-c1_fcmin)/6) c1_fcmin+((c1_fcmax-

c1_fcmin)/6)*2];

v_fc.input(1).mf(3).name='to 45%';

Page 97: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 84

v_fc.input(1).mf(3).type='trimf';

v_fc.input(1).mf(3).params=[c1_fcmin+((c1_fcmax-c1_fcmin)/6) c1_fcmin+((c1_fcmax-c1_fcmin)/6)*2

c1_fcmin+((c1_fcmax-c1_fcmin)/6)*3];

v_fc.input(1).mf(4).name='to 60%';

v_fc.input(1).mf(4).type='trimf';

v_fc.input(1).mf(4).params=[c1_fcmin+((c1_fcmax-c1_fcmin)/6)*2 c1_fcmin+((c1_fcmax-c1_fcmin)/6)*3

c1_fcmin+((c1_fcmax-c1_fcmin)/6)*4];

v_fc.input(1).mf(5).name='to 75%';

v_fc.input(1).mf(5).type='trimf';

v_fc.input(1).mf(5).params=[c1_fcmin+((c1_fcmax-c1_fcmin)/6)*3 c1_fcmin+((c1_fcmax-c1_fcmin)/6)*4

c1_fcmin+((c1_fcmax-c1_fcmin)/6)*5];

v_fc.input(1).mf(6).name='to 90%';

v_fc.input(1).mf(6).type='trimf';

v_fc.input(1).mf(6).params=[c1_fcmin+((c1_fcmax-c1_fcmin)/6)*4 c1_fcmin+((c1_fcmax-c1_fcmin)/6)*5

c1_fcmin+((c1_fcmax-c1_fcmin)/6)*6];

v_fc.input(1).mf(7).name='to 100%';

v_fc.input(1).mf(7).type='trimf';

v_fc.input(1).mf(7).params=[c1_fcmin+((c1_fcmax-c1_fcmin)/6)*5 c1_fcmax c1_fcmax+((c1_fcmax-

c1_fcmin)/6)];

figure(9)

plotmf(v_fc,'input',1)

title('UNIVERSE OF DISCURSE FOR DEMAND FLOW SYSTEM, FACTOR COUPLING')

v_fc.output(1).name='TOTAL VOLTAGE REQUIRED, FACTOR COUPLING';

v_fc.output(1).range=[v1_fcmin v1_fcmax];

v_fc.output(1).mf(1).name='to 15%';

v_fc.output(1).mf(1).type='trimf';

v_fc.output(1).mf(1).params=[-((v1_fcmax-v1_fcmin)/6) v1_fcmin v1_fcmin+((v1_fcmax-v1_fcmin)/6)];

v_fc.output(1).mf(2).name='to 30%';

v_fc.output(1).mf(2).type='trimf';

v_fc.output(1).mf(2).params=[v1_fcmin v1_fcmin+((v1_fcmax-v1_fcmin)/6) v1_fcmin+((v1_fcmax-

v1_fcmin)/6)*2];

v_fc.output(1).mf(3).name='to 45%';

v_fc.output(1).mf(3).type='trimf';

v_fc.output(1).mf(3).params=[v1_fcmin+((v1_fcmax-v1_fcmin)/6) v1_fcmin+((v1_fcmax-v1_fcmin)/6)*2

v1_fcmin+((v1_fcmax-v1_fcmin)/6)*3];

v_fc.output(1).mf(4).name='to 60%';

v_fc.output(1).mf(4).type='trimf';

v_fc.output(1).mf(4).params=[v1_fcmin+((v1_fcmax-v1_fcmin)/6)*2 v1_fcmin+((v1_fcmax-v1_fcmin)/6)*3

v1_fcmin+((v1_fcmax-v1_fcmin)/6)*4];

v_fc.output(1).mf(5).name='to 75%';

v_fc.output(1).mf(5).type='trimf';

v_fc.output(1).mf(5).params=[v1_fcmin+((v1_fcmax-v1_fcmin)/6)*3 v1_fcmin+((v1_fcmax-v1_fcmin)/6)*4

v1_fcmin+((v1_fcmax-v1_fcmin)/6)*5];

v_fc.output(1).mf(6).name='to 90%';

v_fc.output(1).mf(6).type='trimf';

v_fc.output(1).mf(6).params=[v1_fcmin+((v1_fcmax-v1_fcmin)/6)*4 v1_fcmin+((v1_fcmax-v1_fcmin)/6)*5

v1_fcmin+((v1_fcmax-v1_fcmin)/6)*6];

v_fc.output(1).mf(7).name='to 100%';

v_fc.output(1).mf(7).type='trimf';

v_fc.output(1).mf(7).params=[v1_fcmin+((v1_fcmax-v1_fcmin)/6)*5 v1_fcmax v1_fcmax+((v1_fcmax-

v1_fcmin)/6)];

figure(10)

plotmf(v_fc,'output',1)

Page 98: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 85

title('UNIVERSE OF DISCURSE FOR DEMAND PUMP VOLTAGE, FACTOR COUPLING')

v_fc.rule(1).antecedent=[1];

v_fc.rule(1).consequent=[1];

v_fc.rule(1).weight=1;

v_fc.rule(1).connection=1;

v_fc.rule(2).antecedent=[2];

v_fc.rule(2).consequent=[2];

v_fc.rule(2).weight=1;

v_fc.rule(2).connection=1;

v_fc.rule(3).antecedent=[3];

v_fc.rule(3).consequent=[3];

v_fc.rule(3).weight=1;

v_fc.rule(3).connection=1

v_fc.rule(4).antecedent=[4];

v_fc.rule(4).consequent=[4];

v_fc.rule(4).weight=1;

v_fc.rule(4).connection=1

v_fc.rule(5).antecedent=[5];

v_fc.rule(5).consequent=[5];

v_fc.rule(5).weight=1;

v_fc.rule(5).connection=1

v_fc.rule(6).antecedent=[6];

v_fc.rule(6).consequent=[6];

v_fc.rule(6).weight=1;

v_fc.rule(6).connection=1

v_fc.rule(7).antecedent=[7];

v_fc.rule(7).consequent=[7];

v_fc.rule(7).weight=1;

v_fc.rule(7).connection=1

ruleedit(v_fc);

%------------------------------------------------------------------------

% Universos de discurso para el control fuzzy

%------------------------------------------------------------------------

e1_fcmin=min(e1_fc);

e1_fcmax=max(e1_fc);

e2_fcmin=min(e2_fc);

e2_fcmax=max(e2_fc);

e3_fcmin=min(e3_fc);

e3_fcmax=max(e3_fc);

r1_fcmin=min(valvula_pid_1_fc);

r1_fcmax=max(valvula_pid_1_fc);

r2_fcmin=min(valvula_pid_2_fc);

r2_fcmax=max(valvula_pid_2_fc);

r3_fcmin=min(valvula_pid_3_fc);

r3_fcmax=max(valvula_pid_3_fc);

%------------------------------------------------------------------------

% CPD para la vávula 1, factor de acoplamiento

Page 99: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 86

%------------------------------------------------------------------------

a_fc=newfis('fuzzy_proporcional_1_factor_coupling');

a_fc.input(1).name='FLOW ERROR 1, FACTOR COUPLING';

a_fc.input(1).range=[e1_fcmin e1_fcmax];

a_fc.input(1).mf(1).name='high negative';

a_fc.input(1).mf(1).type='trimf';

a_fc.input(1).mf(1).params=[-((e1_fcmax-e1_fcmin)/6) e1_fcmin e1_fcmin+((e1_fcmax-e1_fcmin)/6)];

a_fc.input(1).mf(2).name='medium negative';

a_fc.input(1).mf(2).type='trimf';

a_fc.input(1).mf(2).params=[e1_fcmin e1_fcmin+((e1_fcmax-e1_fcmin)/6) e1_fcmin+((e1_fcmax-

e1_fcmin)/6)*2];

a_fc.input(1).mf(3).name='small negative';

a_fc.input(1).mf(3).type='trimf';

a_fc.input(1).mf(3).params=[e1_fcmin+((e1_fcmax-e1_fcmin)/6) e1_fcmin+((e1_fcmax-e1_fcmin)/6)*2

e1_fcmin+((e1_fcmax-e1_fcmin)/6)*3];

a_fc.input(1).mf(4).name='ideal flow';

a_fc.input(1).mf(4).type='trimf';

a_fc.input(1).mf(4).params=[e1_fcmin+((e1_fcmax-e1_fcmin)/6)*2 e1_fcmin+((e1_fcmax-e1_fcmin)/6)*3

e1_fcmin+((e1_fcmax-e1_fcmin)/6)*4];

a_fc.input(1).mf(5).name='small positive';

a_fc.input(1).mf(5).type='trimf';

a_fc.input(1).mf(5).params=[e1_fcmin+((e1_fcmax-e1_fcmin)/6)*3 e1_fcmin+((e1_fcmax-e1_fcmin)/6)*4

e1_fcmin+((e1_fcmax-e1_fcmin)/6)*5];

a_fc.input(1).mf(6).name='medium positive';

a_fc.input(1).mf(6).type='trimf';

a_fc.input(1).mf(6).params=[e1_fcmin+((e1_fcmax-e1_fcmin)/6)*4 e1_fcmin+((e1_fcmax-e1_fcmin)/6)*5

e1_fcmin+((e1_fcmax-e1_fcmin)/6)*6];

a_fc.input(1).mf(7).name='high positive';

a_fc.input(1).mf(7).type='trimf';

a_fc.input(1).mf(7).params=[e1_fcmin+((e1_fcmax-e1_fcmin)/6)*5 e1_fcmax e1_fcmax+((e1_fcmax-

e1_fcmin)/6)];

figure(11)

plotmf(a_fc,'input',1)

title('UNIVERSE OF DISCURSE FOR FLOW ERROR 1, FACTOR COUPLING')

a_fc.output(1).name='OPENING VALVE 1, FACTOR COUPLING';

a_fc.output(1).range=[r1_fcmin r1_fcmax];

a_fc.output(1).mf(1).name='close completely'

a_fc.output(1).mf(1).type='trimf';

a_fc.output(1).mf(1).params=[-((r1_fcmax-r1_fcmin)/6) r1_fcmin r1_fcmin+((r1_fcmax-r1_fcmin)/6)];

a_fc.output(1).mf(2).name='medium close';

a_fc.output(1).mf(2).type='trimf';

a_fc.output(1).mf(2).params=[r1_fcmin r1_fcmin+((r1_fcmax-r1_fcmin)/6) r1_fcmin+((r1_fcmax-

r1_fcmin)/6)*2];

a_fc.output(1).mf(3).name='close a little';

a_fc.output(1).mf(3).type='trimf';

a_fc.output(1).mf(3).params=[r1_fcmin+((r1_fcmax-r1_fcmin)/6) r1_fcmin+((r1_fcmax-r1_fcmin)/6)*2

r1_fcmin+((r1_fcmax-r1_fcmin)/6)*3];

a_fc.output(1).mf(4).name='maintain';

a_fc.output(1).mf(4).type='trimf';

a_fc.output(1).mf(4).params=[r1_fcmin+((r1_fcmax-r1_fcmin)/6)*2 r1_fcmin+((r1_fcmax-r1_fcmin)/6)*3

r1_fcmin+((r1_fcmax-r1_fcmin)/6)*4];

a_fc.output(1).mf(5).name='open a little';

a_fc.output(1).mf(5).type='trimf';

Page 100: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 87

a_fc.output(1).mf(5).params=[r1_fcmin+((r1_fcmax-r1_fcmin)/6)*3 r1_fcmin+((r1_fcmax-r1_fcmin)/6)*4

r1_fcmin+((r1_fcmax-r1_fcmin)/6)*5];

a_fc.output(1).mf(6).name='medium open';

a_fc.output(1).mf(6).type='trimf';

a_fc.output(1).mf(6).params=[r1_fcmin+((r1_fcmax-r1_fcmin)/6)*4 r1_fcmin+((r1_fcmax-r1_fcmin)/6)*5

r1_fcmin+((r1_fcmax-r1_fcmin)/6)*6];

a_fc.output(1).mf(7).name='open completely';

a_fc.output(1).mf(7).type='trimf';

a_fc.output(1).mf(7).params=[r1_fcmin+((r1_fcmax-r1_fcmin)/6)*5 r1_fcmax r1_fcmax+((r1_fcmax-

r1_fcmin)/6)];

figure(12)

plotmf(a_fc,'output',1)

title('UNIVERSE OF DISCURSE FOR OPENING VALVE 1, FACTOR COUPLING')

a_fc.rule(1).antecedent=[1];

a_fc.rule(1).consequent=[1];

a_fc.rule(1).weight=1;

a_fc.rule(1).connection=1;

a_fc.rule(2).antecedent=[2];

a_fc.rule(2).consequent=[2];

a_fc.rule(2).weight=1;

a_fc.rule(2).connection=1;

a_fc.rule(3).antecedent=[3];

a_fc.rule(3).consequent=[3];

a_fc.rule(3).weight=1;

a_fc.rule(3).connection=1

a_fc.rule(4).antecedent=[4];

a_fc.rule(4).consequent=[4];

a_fc.rule(4).weight=1;

a_fc.rule(4).connection=1

a_fc.rule(5).antecedent=[5];

a_fc.rule(5).consequent=[5];

a_fc.rule(5).weight=1;

a_fc.rule(5).connection=1

a_fc.rule(6).antecedent=[6];

a_fc.rule(6).consequent=[6];

a_fc.rule(6).weight=1;

a_fc.rule(6).connection=1

a_fc.rule(7).antecedent=[7];

a_fc.rule(7).consequent=[7];

a_fc.rule(7).weight=1;

a_fc.rule(7).connection=1

ruleedit(a_fc);

%------------------------------------------------------------------------

% CPD para la válvula 2, factor de acoplamiento

%------------------------------------------------------------------------

b_fc=newfis('fuzzy_proporcional_2_factor_coupling');

b_fc.input(1).name='FLOW ERROR 2, FACTOR COUPLING';

b_fc.input(1).range=[e2_fcmin e2_fcmax];

b_fc.input(1).mf(1).name='high negative';

b_fc.input(1).mf(1).type='trimf';

b_fc.input(1).mf(1).params=[-((e2_fcmax-e2_fcmin)/6) e2_fcmin e2_fcmin+((e2_fcmax-e2_fcmin)/6)];

b_fc.input(1).mf(2).name='medium negative';

Page 101: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 88

b_fc.input(1).mf(2).type='trimf';

b_fc.input(1).mf(2).params=[e2_fcmin e2_fcmin+((e2_fcmax-e2_fcmin)/6) e2_fcmin+((e2_fcmax-

e2_fcmin)/6)*2];

b_fc.input(1).mf(3).name='small negative';

b_fc.input(1).mf(3).type='trimf';

b_fc.input(1).mf(3).params=[e2_fcmin+((e2_fcmax-e2_fcmin)/6) e2_fcmin+((e2_fcmax-e2_fcmin)/6)*2

e2_fcmin+((e2_fcmax-e2_fcmin)/6)*3];

b_fc.input(1).mf(4).name='ideal flow';

b_fc.input(1).mf(4).type='trimf';

b_fc.input(1).mf(4).params=[e2_fcmin+((e2_fcmax-e2_fcmin)/6)*2 e2_fcmin+((e2_fcmax-e2_fcmin)/6)*3

e2_fcmin+((e2_fcmax-e2_fcmin)/6)*4];

b_fc.input(1).mf(5).name='small positive';

b_fc.input(1).mf(5).type='trimf';

b_fc.input(1).mf(5).params=[e2_fcmin+((e2_fcmax-e2_fcmin)/6)*3 e2_fcmin+((e2_fcmax-e2_fcmin)/6)*4

e2_fcmin+((e2_fcmax-e2_fcmin)/6)*5];

b_fc.input(1).mf(6).name='medium positive';

b_fc.input(1).mf(6).type='trimf';

b_fc.input(1).mf(6).params=[e2_fcmin+((e2_fcmax-e2_fcmin)/6)*4 e2_fcmin+((e2_fcmax-e2_fcmin)/6)*5

e2_fcmin+((e2_fcmax-e2_fcmin)/6)*6];

b_fc.input(1).mf(7).name='high positive';

b_fc.input(1).mf(7).type='trimf';

b_fc.input(1).mf(7).params=[e2_fcmin+((e2_fcmax-e2_fcmin)/6)*5 e2_fcmax e2_fcmax+((e2_fcmax-

e2_fcmin)/6)];

figure(13)

plotmf(b_fc,'input',1)

title('UNIVERSE OF DISCURSE FOR FLOW ERROR 2, FACTOR COUPLING')

b_fc.output(1).name='OPENING VALVE 2, FACTOR COUPLING';

b_fc.output(1).range=[r2_fcmin r2_fcmax];

b_fc.output(1).mf(1).name='open completely'

b_fc.output(1).mf(1).type='trimf';

b_fc.output(1).mf(1).params=[-((r2_fcmax-r2_fcmin)/6) r2_fcmin r2_fcmin+((r2_fcmax-r2_fcmin)/6)];

b_fc.output(1).mf(2).name='medium open';

b_fc.output(1).mf(2).type='trimf';

b_fc.output(1).mf(2).params=[r2_fcmin r2_fcmin+((r2_fcmax-r2_fcmin)/6) r2_fcmin+((r2_fcmax-

r2_fcmin)/6)*2];

b_fc.output(1).mf(3).name='open a little';

b_fc.output(1).mf(3).type='trimf';

b_fc.output(1).mf(3).params=[r2_fcmin+((r2_fcmax-r2_fcmin)/6) r2_fcmin+((r2_fcmax-r2_fcmin)/6)*2

r2_fcmin+((r2_fcmax-r2_fcmin)/6)*3];

b_fc.output(1).mf(4).name='maintain';

b_fc.output(1).mf(4).type='trimf';

b_fc.output(1).mf(4).params=[r2_fcmin+((r2_fcmax-r2_fcmin)/6)*2 r2_fcmin+((r2_fcmax-r2_fcmin)/6)*3

r2_fcmin+((r2_fcmax-r2_fcmin)/6)*4];

b_fc.output(1).mf(5).name='close a little';

b_fc.output(1).mf(5).type='trimf';

b_fc.output(1).mf(5).params=[r2_fcmin+((r2_fcmax-r2_fcmin)/6)*3 r2_fcmin+((r2_fcmax-r2_fcmin)/6)*4

r2_fcmin+((r2_fcmax-r2_fcmin)/6)*5];

b_fc.output(1).mf(6).name='medium close';

b_fc.output(1).mf(6).type='trimf';

b_fc.output(1).mf(6).params=[r2_fcmin+((r2_fcmax-r2_fcmin)/6)*4 r2_fcmin+((r2_fcmax-r2_fcmin)/6)*5

r2_fcmin+((r2_fcmax-r2_fcmin)/6)*6];

b_fc.output(1).mf(7).name='close completely';

b_fc.output(1).mf(7).type='trimf';

Page 102: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 89

b_fc.output(1).mf(7).params=[r2_fcmin+((r2_fcmax-r2_fcmin)/6)*5 r2_fcmax r2_fcmax+((r2_fcmax-

r2_fcmin)/6)];

figure(14)

plotmf(b_fc,'output',1)

title('UNIVERSE OF DISCURSE FOR OPENING VALVE 2, FACTOR COUPLING')

b_fc.rule(1).antecedent=[1];

b_fc.rule(1).consequent=[1];

b_fc.rule(1).weight=1;

b_fc.rule(1).connection=1;

b_fc.rule(2).antecedent=[2];

b_fc.rule(2).consequent=[2];

b_fc.rule(2).weight=1;

b_fc.rule(2).connection=1;

b_fc.rule(3).antecedent=[3];

b_fc.rule(3).consequent=[3];

b_fc.rule(3).weight=1;

b_fc.rule(3).connection=1

b_fc.rule(4).antecedent=[4];

b_fc.rule(4).consequent=[4];

b_fc.rule(4).weight=1;

b_fc.rule(4).connection=1

b_fc.rule(5).antecedent=[5];

b_fc.rule(5).consequent=[5];

b_fc.rule(5).weight=1;

b_fc.rule(5).connection=1

b_fc.rule(6).antecedent=[6];

b_fc.rule(6).consequent=[6];

b_fc.rule(6).weight=1;

b_fc.rule(6).connection=1

b_fc.rule(7).antecedent=[7];

b_fc.rule(7).consequent=[7];

b_fc.rule(7).weight=1;

b_fc.rule(7).connection=1

ruleedit(b_fc);

%------------------------------------------------------------------------

% CPD para la válvula 3 es:

%------------------------------------------------------------------------

c_fc=newfis('fuzzy_proporcional_3_factor_coupling');

c_fc.input(1).name='FLOW ERROR 3, FACTOR COUPLING';

c_fc.input(1).range=[e3_fcmin e3_fcmax];

c_fc.input(1).mf(1).name='high negative';

c_fc.input(1).mf(1).type='trimf';

c_fc.input(1).mf(1).params=[-((e3_fcmax-e3_fcmin)/6) e3_fcmin e3_fcmin+((e3_fcmax-e3_fcmin)/6)];

c_fc.input(1).mf(2).name='medium negative';

c_fc.input(1).mf(2).type='trimf';

c_fc.input(1).mf(2).params=[e3_fcmin e3_fcmin+((e3_fcmax-e3_fcmin)/6) e3_fcmin+((e3_fcmax-

e3_fcmin)/6)*2];

c_fc.input(1).mf(3).name='small negative';

c_fc.input(1).mf(3).type='trimf';

c_fc.input(1).mf(3).params=[e3_fcmin+((e3_fcmax-e3_fcmin)/6) e3_fcmin+((e3_fcmax-e3_fcmin)/6)*2

e3_fcmin+((e3_fcmax-e3_fcmin)/6)*3];

Page 103: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 90

c_fc.input(1).mf(4).name='ideal flow';

c_fc.input(1).mf(4).type='trimf';

c_fc.input(1).mf(4).params=[e3_fcmin+((e3_fcmax-e3_fcmin)/6)*2 e3_fcmin+((e3_fcmax-e3_fcmin)/6)*3

e3_fcmin+((e3_fcmax-e3_fcmin)/6)*4];

c_fc.input(1).mf(5).name='small positive';

c_fc.input(1).mf(5).type='trimf';

c_fc.input(1).mf(5).params=[e3_fcmin+((e3_fcmax-e3_fcmin)/6)*3 e3_fcmin+((e3_fcmax-e3_fcmin)/6)*4

e3_fcmin+((e3_fcmax-e3_fcmin)/6)*5];

c_fc.input(1).mf(6).name='medium positive';

c_fc.input(1).mf(6).type='trimf';

c_fc.input(1).mf(6).params=[e3_fcmin+((e3_fcmax-e3_fcmin)/6)*4 e3_fcmin+((e3_fcmax-e3_fcmin)/6)*5

e3_fcmin+((e3_fcmax-e3_fcmin)/6)*6];

c_fc.input(1).mf(7).name='high positive';

c_fc.input(1).mf(7).type='trimf';

c_fc.input(1).mf(7).params=[e3_fcmin+((e3_fcmax-e3_fcmin)/6)*5 e3_fcmax e3_fcmax+((e3_fcmax-

e3_fcmin)/6)];

figure(15)

plotmf(c_fc,'input',1)

title('UNIVERSE OF DISCURSE FOR FLOW ERROR 3, FACTOR COUPLING')

c_fc.output(1).name='OPENING VALVE 3, FACTOR COUPLING';

c_fc.output(1).range=[r3_fcmin r3_fcmax];

c_fc.output(1).mf(1).name='open completely'

c_fc.output(1).mf(1).type='trimf';

c_fc.output(1).mf(1).params=[-((r3_fcmax-r3_fcmin)/6) r3_fcmin r3_fcmin+((r3_fcmax-r3_fcmin)/6)];

c_fc.output(1).mf(2).name='medium open';

c_fc.output(1).mf(2).type='trimf';

c_fc.output(1).mf(2).params=[r3_fcmin r3_fcmin+((r3_fcmax-r3_fcmin)/6) r3_fcmin+((r3_fcmax-

r3_fcmin)/6)*2];

c_fc.output(1).mf(3).name='open a little';

c_fc.output(1).mf(3).type='trimf';

c_fc.output(1).mf(3).params=[r3_fcmin+((r3_fcmax-r3_fcmin)/6) r3_fcmin+((r3_fcmax-r3_fcmin)/6)*2

r3_fcmin+((r3_fcmax-r3_fcmin)/6)*3];

c_fc.output(1).mf(4).name='maintain';

c_fc.output(1).mf(4).type='trimf';

c_fc.output(1).mf(4).params=[r3_fcmin+((r3_fcmax-r3_fcmin)/6)*2 r3_fcmin+((r3_fcmax-r3_fcmin)/6)*3

r3_fcmin+((r3_fcmax-r3_fcmin)/6)*4];

c_fc.output(1).mf(5).name='close a little';

c_fc.output(1).mf(5).type='trimf';

c_fc.output(1).mf(5).params=[r3_fcmin+((r3_fcmax-r3_fcmin)/6)*3 r3_fcmin+((r3_fcmax-r3_fcmin)/6)*4

r3_fcmin+((r3_fcmax-r3_fcmin)/6)*5];

c_fc.output(1).mf(6).name='medium close';

c_fc.output(1).mf(6).type='trimf';

c_fc.output(1).mf(6).params=[r3_fcmin+((r3_fcmax-r3_fcmin)/6)*4 r3_fcmin+((r3_fcmax-r3_fcmin)/6)*5

r3_fcmin+((r3_fcmax-r3_fcmin)/6)*6];

c_fc.output(1).mf(7).name='close completely';

c_fc.output(1).mf(7).type='trimf';

c_fc.output(1).mf(7).params=[r3_fcmin+((r3_fcmax-r3_fcmin)/6)*5 r3_fcmax r3_fcmax+((r3_fcmax-

r3_fcmin)/6)];

figure(16)

plotmf(c_fc,'output',1)

title('UNIVERSE OF DISCURSE FOR THE OPENING OF THE VALVE 3, FACTOR COUPLING')

c_fc.rule(1).antecedent=[1];

Page 104: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 91

c_fc.rule(1).consequent=[1];

c_fc.rule(1).weight=1;

c_fc.rule(1).connection=1;

c_fc.rule(2).antecedent=[2];

c_fc.rule(2).consequent=[2];

c_fc.rule(2).weight=1;

c_fc.rule(2).connection=1;

c_fc.rule(3).antecedent=[3];

c_fc.rule(3).consequent=[3];

c_fc.rule(3).weight=1;

c_fc.rule(3).connection=1

c_fc.rule(4).antecedent=[4];

c_fc.rule(4).consequent=[4];

c_fc.rule(4).weight=1;

c_fc.rule(4).connection=1

c_fc.rule(5).antecedent=[5];

c_fc.rule(5).consequent=[5];

c_fc.rule(5).weight=1;

c_fc.rule(5).connection=1

c_fc.rule(6).antecedent=[6];

c_fc.rule(6).consequent=[6];

c_fc.rule(6).weight=1;

c_fc.rule(6).connection=1

c_fc.rule(7).antecedent=[7];

c_fc.rule(7).consequent=[7];

c_fc.rule(7).weight=1;

c_fc.rule(7).connection=1

ruleedit(c_fc);

%------------------------------------------------------------------------

disp('ejecute el programa en simulink elección de la valvula fuzzy, elección del voltaje fuzzy y corriente

fuzzy_factor coupling así como gráficas del error')

disp('ejecute el programa en simulink referencias factor coupling y total decoupling')

%------------------------------------------------------------------------

%------------------------------------------------------------------------

% PROGRAMA PARA LA DETERMINACIÓN REAL DE LOS GASTOS

%------------------------------------------------------------------------

ent1min=0

ent1max=max(entrada1)

ent2min=0

ent2max=max(entrada2)

ent3min=0

ent3max=max(entrada3)

g1min=0

g1max=max(entrada1)

g2min=0

g2max=max(entrada2)

g3min=0

g3max=max(entrada3)

%------------------------------------------------------------------------

Page 105: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 92

% CPD para el gasto 1

%------------------------------------------------------------------------

f=newfis('gasto1_fuzzy');

f.input(1).name='GASTO 1 REQUERIDO';

f.input(1).range=[ent1min ent1max];

f.input(1).mf(1).name='al 15%';

f.input(1).mf(1).type='trimf';

f.input(1).mf(1).params=[-((ent1max-ent1min)/6) ent1min ent1min+((ent1max-ent1min)/6)];

f.input(1).mf(2).name='al 30%';

f.input(1).mf(2).type='trimf';

f.input(1).mf(2).params=[ent1min ent1min+((ent1max-ent1min)/6) ent1min+((ent1max-ent1min)/6)*2];

f.input(1).mf(3).name='al 45%';

f.input(1).mf(3).type='trimf';

f.input(1).mf(3).params=[ent1min+((ent1max-ent1min)/6) ent1min+((ent1max-ent1min)/6)*2

ent1min+((ent1max-ent1min)/6)*3];

f.input(1).mf(4).name='al 60%';

f.input(1).mf(4).type='trimf';

f.input(1).mf(4).params=[ent1min+((ent1max-ent1min)/6)*2 ent1min+((ent1max-ent1min)/6)*3

ent1min+((ent1max-ent1min)/6)*4];

f.input(1).mf(5).name='al 75%';

f.input(1).mf(5).type='trimf';

f.input(1).mf(5).params=[ent1min+((ent1max-ent1min)/6)*3 ent1min+((ent1max-ent1min)/6)*4

ent1min+((ent1max-ent1min)/6)*5];

f.input(1).mf(6).name='al 90%';

f.input(1).mf(6).type='trimf';

f.input(1).mf(6).params=[ent1min+((ent1max-ent1min)/6)*4 ent1min+((ent1max-ent1min)/6)*5

ent1min+((ent1max-ent1min)/6)*6];

f.input(1).mf(7).name='al 100%';

f.input(1).mf(7).type='trimf';

f.input(1).mf(7).params=[ent1min+((ent1max-ent1min)/6)*5 ent1max ent1max+((ent1max-ent1min)/6)];

figure(17)

plotmf(f,'input',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DEL GASTO 1 DEL SISTEMA')

f.output(1).name='GASTO 1 REAL';

f.output(1).range=[g1min g1max];

f.output(1).mf(1).name='al 15%';

f.output(1).mf(1).type='trimf';

f.output(1).mf(1).params=[-((g1max-g1min)/6) g1min g1min+((g1max-g1min)/6)];

f.output(1).mf(2).name='al 30%';

f.output(1).mf(2).type='trimf';

f.output(1).mf(2).params=[g1min g1min+((g1max-g1min)/6) g1min+((g1max-g1min)/6)*2];

f.output(1).mf(3).name='al 45%';

f.output(1).mf(3).type='trimf';

f.output(1).mf(3).params=[g1min+((g1max-g1min)/6) g1min+((g1max-g1min)/6)*2 g1min+((g1max-

g1min)/6)*3];

f.output(1).mf(4).name='al 60%';

f.output(1).mf(4).type='trimf';

f.output(1).mf(4).params=[g1min+((g1max-g1min)/6)*2 g1min+((g1max-g1min)/6)*3 g1min+((g1max-

g1min)/6)*4];

f.output(1).mf(5).name='al 75%';

f.output(1).mf(5).type='trimf';

f.output(1).mf(5).params=[g1min+((g1max-g1min)/6)*3 g1min+((g1max-g1min)/6)*4 g1min+((g1max-

g1min)/6)*5];

Page 106: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 93

f.output(1).mf(6).name='al 90%';

f.output(1).mf(6).type='trimf';

f.output(1).mf(6).params=[g1min+((g1max-g1min)/6)*4 g1min+((g1max-g1min)/6)*5 g1min+((g1max-

g1min)/6)*6];

f.output(1).mf(7).name='al 100%';

f.output(1).mf(7).type='trimf';

f.output(1).mf(7).params=[g1min+((g1max-g1min)/6)*5 g1max g1max+((g1max-g1min)/6)];

figure(18)

plotmf(f,'output',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE GASTO TUBERIA 1')

f.rule(1).antecedent=[1];

f.rule(1).consequent=[1];

f.rule(1).weight=1;

f.rule(1).connection=1;

f.rule(2).antecedent=[2];

f.rule(2).consequent=[2];

f.rule(2).weight=1;

f.rule(2).connection=1;

f.rule(3).antecedent=[3];

f.rule(3).consequent=[3];

f.rule(3).weight=1;

f.rule(3).connection=1

f.rule(4).antecedent=[4];

f.rule(4).consequent=[4];

f.rule(4).weight=1;

f.rule(4).connection=1

f.rule(5).antecedent=[5];

f.rule(5).consequent=[5];

f.rule(5).weight=1;

f.rule(5).connection=1

f.rule(6).antecedent=[6];

f.rule(6).consequent=[6];

f.rule(6).weight=1;

f.rule(6).connection=1

f.rule(7).antecedent=[7];

f.rule(7).consequent=[7];

f.rule(7).weight=1;

f.rule(7).connection=1

ruleedit(f);

%------------------------------------------------------------------------

% CPD para el gasto 2

%------------------------------------------------------------------------

h=newfis('gasto2_fuzzy');

h.input(1).name='GASTO 2 REQUERIDO';

h.input(1).range=[ent2min ent2max];

h.input(1).mf(1).name='al 15%';

h.input(1).mf(1).type='trimf';

h.input(1).mf(1).params=[-((ent2max-ent2min)/6) ent2min ent2min+((ent2max-ent2min)/6)];

h.input(1).mf(2).name='al 30%';

h.input(1).mf(2).type='trimf';

h.input(1).mf(2).params=[ent2min ent2min+((ent2max-ent2min)/6) ent2min+((ent2max-ent2min)/6)*2];

Page 107: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 94

h.input(1).mf(3).name='al 45%';

h.input(1).mf(3).type='trimf';

h.input(1).mf(3).params=[ent2min+((ent2max-ent2min)/6) ent2min+((ent2max-ent2min)/6)*2

ent2min+((ent2max-ent2min)/6)*3];

h.input(1).mf(4).name='al 60%';

h.input(1).mf(4).type='trimf';

h.input(1).mf(4).params=[ent2min+((ent2max-ent2min)/6)*2 ent2min+((ent2max-ent2min)/6)*3

ent2min+((ent2max-ent2min)/6)*4];

h.input(1).mf(5).name='al 75%';

h.input(1).mf(5).type='trimf';

h.input(1).mf(5).params=[ent2min+((ent2max-ent2min)/6)*3 ent2min+((ent2max-ent2min)/6)*4

ent2min+((ent2max-ent2min)/6)*5];

h.input(1).mf(6).name='al 90%';

h.input(1).mf(6).type='trimf';

h.input(1).mf(6).params=[ent2min+((ent2max-ent2min)/6)*4 ent2min+((ent2max-ent2min)/6)*5

ent2min+((ent2max-ent2min)/6)*6];

h.input(1).mf(7).name='al 100%';

h.input(1).mf(7).type='trimf';

h.input(1).mf(7).params=[ent2min+((ent2max-ent2min)/6)*5 ent2max ent2max+((ent2max-ent2min)/6)];

figure(19)

plotmf(h,'input',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DEL GASTO 2 DEL SISTEMA')

h.output(1).name='GASTO 2 REAL';

h.output(1).range=[g2min g2max];

h.output(1).mf(1).name='al 15%';

h.output(1).mf(1).type='trimf';

h.output(1).mf(1).params=[-((g2max-g2min)/6) g2min g2min+((g2max-g2min)/6)];

h.output(1).mf(2).name='al 30%';

h.output(1).mf(2).type='trimf';

h.output(1).mf(2).params=[g2min g2min+((g2max-g2min)/6) g2min+((g2max-g2min)/6)*2];

h.output(1).mf(3).name='al 45%';

h.output(1).mf(3).type='trimf';

h.output(1).mf(3).params=[g2min+((g2max-g2min)/6) g2min+((g2max-g2min)/6)*2 g2min+((g2max-

g2min)/6)*3];

h.output(1).mf(4).name='al 60%';

h.output(1).mf(4).type='trimf';

h.output(1).mf(4).params=[g2min+((g2max-g2min)/6)*2 g2min+((g2max-g2min)/6)*3 g2min+((g2max-

g2min)/6)*4];

h.output(1).mf(5).name='al 75%';

h.output(1).mf(5).type='trimf';

h.output(1).mf(5).params=[g2min+((g2max-g2min)/6)*3 g2min+((g2max-g2min)/6)*4 g2min+((g2max-

g2min)/6)*5];

h.output(1).mf(6).name='al 90%';

h.output(1).mf(6).type='trimf';

h.output(1).mf(6).params=[g2min+((g2max-g2min)/6)*4 g2min+((g2max-g2min)/6)*5 g2min+((g2max-

g2min)/6)*6];

h.output(1).mf(7).name='al 100%';

h.output(1).mf(7).type='trimf';

h.output(1).mf(7).params=[g2min+((g2max-g2min)/6)*5 g2max g2max+((g2max-g2min)/6)];

figure(20)

plotmf(h,'output',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE GASTO TUBERIA 1')

Page 108: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 95

h.rule(1).antecedent=[1];

h.rule(1).consequent=[1];

h.rule(1).weight=1;

h.rule(1).connection=1;

h.rule(2).antecedent=[2];

h.rule(2).consequent=[2];

h.rule(2).weight=1;

h.rule(2).connection=1;

h.rule(3).antecedent=[3];

h.rule(3).consequent=[3];

h.rule(3).weight=1;

h.rule(3).connection=1

h.rule(4).antecedent=[4];

h.rule(4).consequent=[4];

h.rule(4).weight=1;

h.rule(4).connection=1

h.rule(5).antecedent=[5];

h.rule(5).consequent=[5];

h.rule(5).weight=1;

h.rule(5).connection=1

h.rule(6).antecedent=[6];

h.rule(6).consequent=[6];

h.rule(6).weight=1;

h.rule(6).connection=1

h.rule(7).antecedent=[7];

h.rule(7).consequent=[7];

h.rule(7).weight=1;

h.rule(7).connection=1

ruleedit(h);

%------------------------------------------------------------------------

% CPD para el gasto 3

%------------------------------------------------------------------------

j=newfis('gasto3_fuzzy');

j.input(1).name='GASTO 3 REQUERIDO';

j.input(1).range=[ent3min ent3max];

j.input(1).mf(1).name='al 15%';

j.input(1).mf(1).type='trimf';

j.input(1).mf(1).params=[-((ent3max-ent3min)/6) ent3min ent3min+((ent3max-ent3min)/6)];

j.input(1).mf(2).name='al 30%';

j.input(1).mf(2).type='trimf';

j.input(1).mf(2).params=[ent3min ent3min+((ent3max-ent3min)/6) ent3min+((ent3max-ent3min)/6)*2];

j.input(1).mf(3).name='al 45%';

j.input(1).mf(3).type='trimf';

j.input(1).mf(3).params=[ent3min+((ent3max-ent3min)/6) ent3min+((ent3max-ent3min)/6)*2

ent3min+((ent3max-ent3min)/6)*3];

j.input(1).mf(4).name='al 60%';

j.input(1).mf(4).type='trimf';

j.input(1).mf(4).params=[ent3min+((ent3max-ent3min)/6)*2 ent3min+((ent3max-ent3min)/6)*3

ent3min+((ent3max-ent3min)/6)*4];

j.input(1).mf(5).name='al 75%';

j.input(1).mf(5).type='trimf';

j.input(1).mf(5).params=[ent3min+((ent3max-ent3min)/6)*3 ent3min+((ent3max-ent3min)/6)*4

ent3min+((ent3max-ent3min)/6)*5];

Page 109: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 96

j.input(1).mf(6).name='al 90%';

j.input(1).mf(6).type='trimf';

j.input(1).mf(6).params=[ent3min+((ent3max-ent3min)/6)*4 ent3min+((ent3max-ent3min)/6)*5

ent3min+((ent3max-ent3min)/6)*6];

j.input(1).mf(7).name='al 100%';

j.input(1).mf(7).type='trimf';

j.input(1).mf(7).params=[ent3min+((ent3max-ent3min)/6)*5 ent3max ent3max+((ent3max-ent3min)/6)];

figure(21)

plotmf(j,'input',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DEL GASTO 3 DEL SISTEMA')

j.output(1).name='GASTO 3 REAL';

j.output(1).range=[g3min g3max];

j.output(1).mf(1).name='al 15%';

j.output(1).mf(1).type='trimf';

j.output(1).mf(1).params=[-((g3max-g3min)/6) g3min g3min+((g3max-g3min)/6)];

j.output(1).mf(2).name='al 30%';

j.output(1).mf(2).type='trimf';

j.output(1).mf(2).params=[g3min g3min+((g3max-g3min)/6) g3min+((g3max-g3min)/6)*2];

j.output(1).mf(3).name='al 45%';

j.output(1).mf(3).type='trimf';

j.output(1).mf(3).params=[g3min+((g3max-g3min)/6) g3min+((g3max-g3min)/6)*2 g3min+((g3max-

g3min)/6)*3];

j.output(1).mf(4).name='al 60%';

j.output(1).mf(4).type='trimf';

j.output(1).mf(4).params=[g3min+((g3max-g3min)/6)*2 g3min+((g3max-g3min)/6)*3 g3min+((g3max-

g3min)/6)*4];

j.output(1).mf(5).name='al 75%';

j.output(1).mf(5).type='trimf';

j.output(1).mf(5).params=[g3min+((g3max-g3min)/6)*3 g3min+((g3max-g3min)/6)*4 g3min+((g3max-

g3min)/6)*5];

j.output(1).mf(6).name='al 90%';

j.output(1).mf(6).type='trimf';

j.output(1).mf(6).params=[g3min+((g3max-g3min)/6)*4 g3min+((g3max-g3min)/6)*5 g3min+((g3max-

g3min)/6)*6];

j.output(1).mf(7).name='al 100%';

j.output(1).mf(7).type='trimf';

j.output(1).mf(7).params=[g3min+((g3max-g3min)/6)*5 g3max g3max+((g3max-g3min)/6)];

figure(22)

plotmf(j,'output',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE GASTO TUBERIA 3')

j.rule(1).antecedent=[1];

j.rule(1).consequent=[1];

j.rule(1).weight=1;

j.rule(1).connection=1;

j.rule(2).antecedent=[2];

j.rule(2).consequent=[2];

j.rule(2).weight=1;

j.rule(2).connection=1;

j.rule(3).antecedent=[3];

j.rule(3).consequent=[3];

j.rule(3).weight=1;

j.rule(3).connection=1

Page 110: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 97

j.rule(4).antecedent=[4];

j.rule(4).consequent=[4];

j.rule(4).weight=1;

j.rule(4).connection=1

j.rule(5).antecedent=[5];

j.rule(5).consequent=[5];

j.rule(5).weight=1;

j.rule(5).connection=1

j.rule(6).antecedent=[6];

j.rule(6).consequent=[6];

j.rule(6).weight=1;

j.rule(6).connection=1

j.rule(7).antecedent=[7];

j.rule(7).consequent=[7];

j.rule(7).weight=1;

j.rule(7).connection=1

ruleedit(j);

%------------------------------------------------------------------------

% Determinación real de los gastos factor de acoplamiento

%------------------------------------------------------------------------

ent1min_fc=min(entrada1_fc)

ent1max_fc=max(entrada1_fc)

ent2min_fc=min(entrada2_fc)

ent2max_fc=max(entrada2_fc)

ent3min_fc=min(entrada3_fc)

ent3max_fc=max(entrada3_fc)

g1min_fc=min(entrada1_fc)

g1max_fc=max(entrada1_fc)

g2min_fc=min(entrada2_fc)

g2max_fc=max(entrada2_fc)

g3min_fc=min(entrada3_fc)

g3max_fc=max(entrada3_fc)

%------------------------------------------------------------------------

% CPD para el gasto 1 factor de acoplamiento

%------------------------------------------------------------------------

k=newfis('gasto1_fuzzy_fc');

k.input(1).name='GASTO 1 REQUERIDO, FACTOR DE ACOPLAMIENTO';

k.input(1).range=[ent1min_fc ent1max_fc];

k.input(1).mf(1).name='al 15%';

k.input(1).mf(1).type='trimf';

k.input(1).mf(1).params=[-((ent1max_fc-ent1min_fc)/6) ent1min_fc ent1min_fc+((ent1max_fc-

ent1min_fc)/6)];

k.input(1).mf(2).name='al 30%';

k.input(1).mf(2).type='trimf';

k.input(1).mf(2).params=[ent1min_fc ent1min_fc+((ent1max_fc-ent1min_fc)/6) ent1min_fc+((ent1max_fc-

ent1min_fc)/6)*2];

k.input(1).mf(3).name='al 45%';

Page 111: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 98

k.input(1).mf(3).type='trimf';

k.input(1).mf(3).params=[ent1min_fc+((ent1max_fc-ent1min_fc)/6) ent1min_fc+((ent1max_fc-

ent1min_fc)/6)*2 ent1min_fc+((ent1max_fc-ent1min_fc)/6)*3];

k.input(1).mf(4).name='al 60%';

k.input(1).mf(4).type='trimf';

k.input(1).mf(4).params=[ent1min_fc+((ent1max_fc-ent1min_fc)/6)*2 ent1min_fc+((ent1max_fc-

ent1min_fc)/6)*3 ent1min_fc+((ent1max_fc-ent1min_fc)/6)*4];

k.input(1).mf(5).name='al 75%';

k.input(1).mf(5).type='trimf';

k.input(1).mf(5).params=[ent1min_fc+((ent1max_fc-ent1min_fc)/6)*3 ent1min_fc+((ent1max_fc-

ent1min_fc)/6)*4 ent1min_fc+((ent1max_fc-ent1min_fc)/6)*5];

k.input(1).mf(6).name='al 90%';

k.input(1).mf(6).type='trimf';

k.input(1).mf(6).params=[ent1min_fc+((ent1max_fc-ent1min_fc)/6)*4 ent1min_fc+((ent1max_fc-

ent1min_fc)/6)*5 ent1min_fc+((ent1max_fc-ent1min_fc)/6)*6];

k.input(1).mf(7).name='al 100%';

k.input(1).mf(7).type='trimf';

k.input(1).mf(7).params=[ent1min_fc+((ent1max_fc-ent1min_fc)/6)*5 ent1max_fc

ent1max_fc+((ent1max_fc-ent1min_fc)/6)];

figure(23)

plotmf(k,'input',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DEL GASTO 1 DEL SISTEMA, FACTOR DE

ACOPLAMIENTO')

k.output(1).name='GASTO 1 REAL, FACTOR DE ACOPLAMIENTO';

k.output(1).range=[g1min_fc g1max_fc];

k.output(1).mf(1).name='al 15%';

k.output(1).mf(1).type='trimf';

k.output(1).mf(1).params=[-((g1max_fc-g1min_fc)/6) g1min_fc g1min_fc+((g1max_fc-g1min_fc)/6)];

k.output(1).mf(2).name='al 30%';

k.output(1).mf(2).type='trimf';

k.output(1).mf(2).params=[g1min_fc g1min_fc+((g1max_fc-g1min_fc)/6) g1min_fc+((g1max_fc-

g1min_fc)/6)*2];

k.output(1).mf(3).name='al 45%';

k.output(1).mf(3).type='trimf';

k.output(1).mf(3).params=[g1min_fc+((g1max_fc-g1min_fc)/6) g1min_fc+((g1max_fc-g1min_fc)/6)*2

g1min_fc+((g1max_fc-g1min_fc)/6)*3];

k.output(1).mf(4).name='al 60%';

k.output(1).mf(4).type='trimf';

k.output(1).mf(4).params=[g1min_fc+((g1max_fc-g1min_fc)/6)*2 g1min_fc+((g1max_fc-g1min_fc)/6)*3

g1min_fc+((g1max_fc-g1min_fc)/6)*4];

k.output(1).mf(5).name='al 75%';

k.output(1).mf(5).type='trimf';

k.output(1).mf(5).params=[g1min_fc+((g1max_fc-g1min_fc)/6)*3 g1min_fc+((g1max_fc-g1min_fc)/6)*4

g1min_fc+((g1max_fc-g1min_fc)/6)*5];

k.output(1).mf(6).name='al 90%';

k.output(1).mf(6).type='trimf';

k.output(1).mf(6).params=[g1min_fc+((g1max_fc-g1min_fc)/6)*4 g1min_fc+((g1max_fc-g1min_fc)/6)*5

g1min_fc+((g1max_fc-g1min_fc)/6)*6];

k.output(1).mf(7).name='al 100%';

k.output(1).mf(7).type='trimf';

k.output(1).mf(7).params=[g1min_fc+((g1max_fc-g1min_fc)/6)*5 g1max_fc g1max_fc+((g1max_fc-

g1min_fc)/6)];

figure(24)

Page 112: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 99

plotmf(k,'output',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE GASTO TUBERIA 1, FACTOR DE

ACOPLAMIENTO')

k.rule(1).antecedent=[1];

k.rule(1).consequent=[1];

k.rule(1).weight=1;

k.rule(1).connection=1;

k.rule(2).antecedent=[2];

k.rule(2).consequent=[2];

k.rule(2).weight=1;

k.rule(2).connection=1;

k.rule(3).antecedent=[3];

k.rule(3).consequent=[3];

k.rule(3).weight=1;

k.rule(3).connection=1

k.rule(4).antecedent=[4];

k.rule(4).consequent=[4];

k.rule(4).weight=1;

k.rule(4).connection=1

k.rule(5).antecedent=[5];

k.rule(5).consequent=[5];

k.rule(5).weight=1;

k.rule(5).connection=1

k.rule(6).antecedent=[6];

k.rule(6).consequent=[6];

k.rule(6).weight=1;

k.rule(6).connection=1

k.rule(7).antecedent=[7];

k.rule(7).consequent=[7];

k.rule(7).weight=1;

k.rule(7).connection=1

ruleedit(k);

%------------------------------------------------------------------------

% CPD para el gasto 2 factor de acoplamiento

%------------------------------------------------------------------------

l=newfis('gasto2_fuzzy_fc');

l.input(1).name='GASTO 2 REQUERIDO, FACTOR DE ACOPLAMIENTO';

l.input(1).range=[ent2min_fc ent2max_fc];

l.input(1).mf(1).name='al 15%';

l.input(1).mf(1).type='trimf';

l.input(1).mf(1).params=[-((ent2max_fc-ent2min_fc)/6) ent2min_fc ent2min_fc+((ent2max_fc-

ent2min_fc)/6)];

l.input(1).mf(2).name='al 30%';

l.input(1).mf(2).type='trimf';

l.input(1).mf(2).params=[ent2min_fc ent2min_fc+((ent2max_fc-ent2min_fc)/6) ent2min_fc+((ent2max_fc-

ent2min_fc)/6)*2];

l.input(1).mf(3).name='al 45%';

l.input(1).mf(3).type='trimf';

l.input(1).mf(3).params=[ent2min_fc+((ent2max_fc-ent2min_fc)/6) ent2min_fc+((ent2max_fc-

ent2min_fc)/6)*2 ent2min_fc+((ent2max_fc-ent2min_fc)/6)*3];

l.input(1).mf(4).name='al 60%';

l.input(1).mf(4).type='trimf';

Page 113: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 100

l.input(1).mf(4).params=[ent2min_fc+((ent2max_fc-ent2min_fc)/6)*2 ent2min_fc+((ent2max_fc-

ent2min_fc)/6)*3 ent2min_fc+((ent2max_fc-ent2min_fc)/6)*4];

l.input(1).mf(5).name='al 75%';

l.input(1).mf(5).type='trimf';

l.input(1).mf(5).params=[ent2min_fc+((ent2max_fc-ent2min_fc)/6)*3 ent2min_fc+((ent2max_fc-

ent2min_fc)/6)*4 ent2min_fc+((ent2max_fc-ent2min_fc)/6)*5];

l.input(1).mf(6).name='al 90%';

l.input(1).mf(6).type='trimf';

l.input(1).mf(6).params=[ent2min_fc+((ent2max_fc-ent2min_fc)/6)*4 ent2min_fc+((ent2max_fc-

ent2min_fc)/6)*5 ent2min_fc+((ent2max_fc-ent2min_fc)/6)*6];

l.input(1).mf(7).name='al 100%';

l.input(1).mf(7).type='trimf';

l.input(1).mf(7).params=[ent2min_fc+((ent2max_fc-ent2min_fc)/6)*5 ent2max_fc

ent2max_fc+((ent2max_fc-ent2min_fc)/6)];

figure(25)

plotmf(l,'input',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DEL GASTO 2 DEL SISTEMA, FACTOR DE

ACOPLAMIENTO')

l.output(1).name='GASTO 2 REAL, FACTOR DE ACOPLAMIENTO';

l.output(1).range=[g2min_fc g2max_fc];

l.output(1).mf(1).name='al 15%';

l.output(1).mf(1).type='trimf';

l.output(1).mf(1).params=[-((g2max_fc-g2min_fc)/6) g2min_fc g2min_fc+((g2max_fc-g2min_fc)/6)];

l.output(1).mf(2).name='al 30%';

l.output(1).mf(2).type='trimf';

l.output(1).mf(2).params=[g2min_fc g2min_fc+((g2max_fc-g2min_fc)/6) g2min_fc+((g2max_fc-

g2min_fc)/6)*2];

l.output(1).mf(3).name='al 45%';

l.output(1).mf(3).type='trimf';

l.output(1).mf(3).params=[g2min_fc+((g2max_fc-g2min_fc)/6) g2min_fc+((g2max_fc-g2min_fc)/6)*2

g2min_fc+((g2max_fc-g2min_fc)/6)*3];

l.output(1).mf(4).name='al 60%';

l.output(1).mf(4).type='trimf';

l.output(1).mf(4).params=[g2min_fc+((g2max_fc-g2min_fc)/6)*2 g2min_fc+((g2max_fc-g2min_fc)/6)*3

g2min_fc+((g2max_fc-g2min_fc)/6)*4];

l.output(1).mf(5).name='al 75%';

l.output(1).mf(5).type='trimf';

l.output(1).mf(5).params=[g2min_fc+((g2max_fc-g2min_fc)/6)*3 g2min_fc+((g2max_fc-g2min_fc)/6)*4

g2min_fc+((g2max_fc-g2min_fc)/6)*5];

l.output(1).mf(6).name='al 90%';

l.output(1).mf(6).type='trimf';

l.output(1).mf(6).params=[g2min_fc+((g2max_fc-g2min_fc)/6)*4 g2min_fc+((g2max_fc-g2min_fc)/6)*5

g2min_fc+((g2max_fc-g2min_fc)/6)*6];

l.output(1).mf(7).name='al 100%';

l.output(1).mf(7).type='trimf';

l.output(1).mf(7).params=[g2min_fc+((g2max_fc-g2min_fc)/6)*5 g2max_fc g2max_fc+((g2max_fc-

g2min_fc)/6)];

figure(26)

plotmf(l,'output',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE GASTO TUBERIA 1, FACTOR DE

ACOPLAMIENTO')

l.rule(1).antecedent=[1];

Page 114: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 101

l.rule(1).consequent=[1];

l.rule(1).weight=1;

l.rule(1).connection=1;

l.rule(2).antecedent=[2];

l.rule(2).consequent=[2];

l.rule(2).weight=1;

l.rule(2).connection=1;

l.rule(3).antecedent=[3];

l.rule(3).consequent=[3];

l.rule(3).weight=1;

l.rule(3).connection=1

l.rule(4).antecedent=[4];

l.rule(4).consequent=[4];

l.rule(4).weight=1;

l.rule(4).connection=1

l.rule(5).antecedent=[5];

l.rule(5).consequent=[5];

l.rule(5).weight=1;

l.rule(5).connection=1

l.rule(6).antecedent=[6];

l.rule(6).consequent=[6];

l.rule(6).weight=1;

l.rule(6).connection=1

l.rule(7).antecedent=[7];

l.rule(7).consequent=[7];

l.rule(7).weight=1;

l.rule(7).connection=1

ruleedit(l);

%------------------------------------------------------------------------

% CPD para el gasto 3 factor de acoplamiento

%------------------------------------------------------------------------

m=newfis('gasto3_fuzzy_fc');

m.input(1).name='GASTO 3 REQUERIDO, FACTOR DE ACOPLAMIENTO';

m.input(1).range=[ent3min_fc ent3max_fc];

m.input(1).mf(1).name='al 15%';

m.input(1).mf(1).type='trimf';

m.input(1).mf(1).params=[-((ent3max_fc-ent3min_fc)/6) ent3min_fc ent3min_fc+((ent3max_fc-

ent3min_fc)/6)];

m.input(1).mf(2).name='al 30%';

m.input(1).mf(2).type='trimf';

m.input(1).mf(2).params=[ent3min_fc ent3min_fc+((ent3max_fc-ent3min_fc)/6) ent3min_fc+((ent3max_fc-

ent3min_fc)/6)*2];

m.input(1).mf(3).name='al 45%';

m.input(1).mf(3).type='trimf';

m.input(1).mf(3).params=[ent3min_fc+((ent3max_fc-ent3min_fc)/6) ent3min_fc+((ent3max_fc-

ent3min_fc)/6)*2 ent3min_fc+((ent3max_fc-ent3min_fc)/6)*3];

m.input(1).mf(4).name='al 60%';

m.input(1).mf(4).type='trimf';

m.input(1).mf(4).params=[ent3min_fc+((ent3max_fc-ent3min_fc)/6)*2 ent3min_fc+((ent3max_fc-

ent3min_fc)/6)*3 ent3min_fc+((ent3max_fc-ent3min_fc)/6)*4];

m.input(1).mf(5).name='al 75%';

m.input(1).mf(5).type='trimf';

Page 115: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 102

m.input(1).mf(5).params=[ent3min_fc+((ent3max_fc-ent3min_fc)/6)*3 ent3min_fc+((ent3max_fc-

ent3min_fc)/6)*4 ent3min_fc+((ent3max_fc-ent3min_fc)/6)*5];

m.input(1).mf(6).name='al 90%';

m.input(1).mf(6).type='trimf';

m.input(1).mf(6).params=[ent3min_fc+((ent3max_fc-ent3min_fc)/6)*4 ent3min_fc+((ent3max_fc-

ent3min_fc)/6)*5 ent3min_fc+((ent3max_fc-ent3min_fc)/6)*6];

m.input(1).mf(7).name='al 100%';

m.input(1).mf(7).type='trimf';

m.input(1).mf(7).params=[ent3min_fc+((ent3max_fc-ent3min_fc)/6)*5 ent3max_fc

ent3max_fc+((ent3max_fc-ent3min_fc)/6)];

figure(27)

plotmf(m,'input',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DEL GASTO 3 DEL SISTEMA, FACTOR DE

ACOPLAMIENTO')

m.output(1).name='GASTO 3 REAL, FACTOR DE ACOPLAMIENTO';

m.output(1).range=[g3min_fc g3max_fc];

m.output(1).mf(1).name='al 15%';

m.output(1).mf(1).type='trimf';

m.output(1).mf(1).params=[-((g3max_fc-g3min_fc)/6) g3min_fc g3min_fc+((g3max_fc-g3min_fc)/6)];

m.output(1).mf(2).name='al 30%';

m.output(1).mf(2).type='trimf';

m.output(1).mf(2).params=[g3min_fc g3min_fc+((g3max_fc-g3min_fc)/6) g3min_fc+((g3max_fc-

g3min_fc)/6)*2];

m.output(1).mf(3).name='al 45%';

m.output(1).mf(3).type='trimf';

m.output(1).mf(3).params=[g3min_fc+((g3max_fc-g3min_fc)/6) g3min_fc+((g3max_fc-g3min_fc)/6)*2

g3min_fc+((g3max_fc-g3min_fc)/6)*3];

m.output(1).mf(4).name='al 60%';

m.output(1).mf(4).type='trimf';

m.output(1).mf(4).params=[g3min_fc+((g3max_fc-g3min_fc)/6)*2 g3min_fc+((g3max_fc-g3min_fc)/6)*3

g3min_fc+((g3max_fc-g3min_fc)/6)*4];

m.output(1).mf(5).name='al 75%';

m.output(1).mf(5).type='trimf';

m.output(1).mf(5).params=[g3min_fc+((g3max_fc-g3min_fc)/6)*3 g3min_fc+((g3max_fc-g3min_fc)/6)*4

g3min_fc+((g3max_fc-g3min_fc)/6)*5];

m.output(1).mf(6).name='al 90%';

m.output(1).mf(6).type='trimf';

m.output(1).mf(6).params=[g3min_fc+((g3max_fc-g3min_fc)/6)*4 g3min_fc+((g3max_fc-g3min_fc)/6)*5

g3min_fc+((g3max_fc-g3min_fc)/6)*6];

m.output(1).mf(7).name='al 100%';

m.output(1).mf(7).type='trimf';

m.output(1).mf(7).params=[g3min_fc+((g3max_fc-g3min_fc)/6)*5 g3max_fc g3max_fc+((g3max_fc-

g3min_fc)/6)];

figure(28)

plotmf(m,'output',1)

title('UNIVERSO DE DISCURSO PARA LA DEMANDA DE GASTO TUBERIA 3, FACTOR DE

ACOPLAMIENTO')

m.rule(1).antecedent=[1];

m.rule(1).consequent=[1];

m.rule(1).weight=1;

m.rule(1).connection=1;

m.rule(2).antecedent=[2];

Page 116: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 103

m.rule(2).consequent=[2];

m.rule(2).weight=1;

m.rule(2).connection=1;

m.rule(3).antecedent=[3];

m.rule(3).consequent=[3];

m.rule(3).weight=1;

m.rule(3).connection=1

m.rule(4).antecedent=[4];

m.rule(4).consequent=[4];

m.rule(4).weight=1;

m.rule(4).connection=1

m.rule(5).antecedent=[5];

m.rule(5).consequent=[5];

m.rule(5).weight=1;

m.rule(5).connection=1

m.rule(6).antecedent=[6];

m.rule(6).consequent=[6];

m.rule(6).weight=1;

m.rule(6).connection=1

m.rule(7).antecedent=[7];

m.rule(7).consequent=[7];

m.rule(7).weight=1;

m.rule(7).connection=1

ruleedit(m);

disp('ejecute el programa de gastos y gastos fc')

%------------------------------------------------------------------------

% RESULTADOS FACTOR DE ACOPLAMIENTO

%------------------------------------------------------------------------

%------------------------------------------------------------------------

% DEMANDA GASTO PRESIÓN, FACTOR DE ACOPLAMIENTO

%------------------------------------------------------------------------

figure(29)

subplot(311)

plot(corriente_total_fc,'r')

axis([0, 51, 0, 1000])

xlabel('Tiempo')

ylabel('Demanda de gasto')

title('DEMANDA DE GASTO DEL SISTEMA, FACTOR DE ACOPLAMIENTO CON CPD')

grid on

subplot(312)

voltreq_fc=voltaje_requerido_fc(:,1:51);

plot(voltreq_fc,'b'), hold on

axis([0, 51, 0, 1000])

xlabel('Tiempo')

Ylabel('Demanda de presión')

title('DEMANDA DE PRESIÓN DEL SISTEMA, FACTOR DE ACOPLAMIENTO CON CPD')

grid on

subplot(313)

plot(corriente_total_fc,'r'), hold on

plot(voltreq_fc,'b'), hold on

axis([0, 51, 0 1000])

Page 117: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 104

xlabel('Tiempo')

ylabel('Demanda Gasto-Presión')

title('DEMANDA GASTO PRESIÓN, FACTOR DE ACOPLAMIENTO CON CPD')

grid on

%------------------------------------------------------------------------

% Valvula 1 Factor coupling

%------------------------------------------------------------------------

figure(30)

subplot(231);

graval1_fc=valvula1_fc(:,1:51);

plot(graval1_fc,'g')

title('VÁLVULA 1 DEFINIDA POR EL CPD, "FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 1, factor de acoplamiento')

grid on

subplot(232);

plot(valvula_pid_1_fc,'r')

title('VÁLVULA 1 DEFINIDA POR EL EXPERTO, FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la válvula 1, factor de acoplamiento')

grid on

subplot(233)

plot(graval1_fc,'r'), hold on

plot(valvula_pid_1_fc,'b')

title('VÁLVULA 1 CON AMBOS CONTROLADORES, FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 1, factor de acoplamiento')

grid on

subplot(234);

gracor1_fc=corriente1_fuzzy_fc(:,1:51);

plot(gracor1_fc,'g')

title('GASTO 1 DEFINIDO POR EL CPD')

xlabel('Tiempo')

ylabel('Comportamiento del gasto 1')

grid on

subplot(235);

plot(corriente1_fc,'r')

title('GASTO 1 DEFINIDO POR EL EXPERTO')

xlabel('Tiempo')

ylabel('Comportamiento del gasto 1')

grid on

subplot(236)

plot(gracor1_fc,'r'), hold on

plot(corriente1_fc,'b')

title('GASTO 1 DEFINIDO POR EL CPD Y EL EXPERTO')

xlabel('Tiempo')

ylabel('Comportamiento de la válvula 1')

grid on

Page 118: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 105

%------------------------------------------------------------------------

% Valvula 2 Factor coupling

%------------------------------------------------------------------------

figure(31)

subplot(231);

graval2_fc=valvula2_fc(:,1:51);

plot(graval2_fc,'r')

title('VÁLVULA 2 DEFINIDA POR EL CPD, "FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 2, factor de acoplamiento')

axis([0 50 3 3.4])

grid on

subplot(232);

plot(valvula_pid_2_fc,'b')

title('VÁLVULA 2 DEFINIDA POR EL EXPERTO, FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 2, factor de acoplamiento')

axis([0 50 3 3.4])

grid on

subplot(233)

plot(graval2_fc,'r'), hold on

plot(valvula_pid_2_fc,'b')

title('VÁLVULA 2 CON AMBOS CONTROLADORES, FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 2, factor de acoplamiento')

axis([0 50 3 3.4])

grid on

subplot(234);

gracor2_fc=corriente2_fuzzy_fc(:,1:51);

plot(gracor2_fc,'r')

title('GASTO 2 DEFINIDO POR EL CPD')

xlabel('Tiempo')

ylabel('Comportamiento del gasto 2')

axis([0 50 290 330])

grid on

subplot(235);

plot(corriente2_fc,'b')

title('GASTO 2 DEFINIDO POR EL EXPERTO')

xlabel('Tiempo')

ylabel('Comportamiento del gasto 2')

axis([0 50 290 330])

grid on

subplot(236)

plot(gracor2_fc,'r'), hold on

plot(corriente2_fc,'b')

title('GASTO 2 DEFINIDO POR EL CPD Y EXPERTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 2')

axis([0 50 290 330])

grid on

Page 119: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 106

%------------------------------------------------------------------------

% Valvula 3 Factor coupling

%------------------------------------------------------------------------

figure(32)

subplot(231);

graval3_fc=valvula3_fc(:,1:51);

plot(graval3_fc,'g')

title('VÁLVULA 3 DEFINIDA POR EL CPD, "FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 3, factor de acoplamiento')

grid on

subplot(232);

plot(valvula_pid_3_fc,'r')

title('VÁLVULA 3 DEFINIDA POR EL EXPERTO, FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 3, factor de acoplamiento')

grid on

subplot(233)

plot(graval3_fc,'r'), hold on

plot(valvula_pid_3_fc,'b')

title('VÁLVULA 3 CON AMBOS CONTROLADORES, FACTOR DE ACOPLAMIENTO')

xlabel('Tiempo')

ylabel('Comportamiento de la valvula 3, factor de acoplamiento')

grid on

subplot(234);

gracor3_fc=corriente3_fuzzy_fc(:,1:51);

plot(gracor3_fc,'g')

title('GASTO 3 DEFINIDO POR EL CPD')

xlabel('Tiempo')

ylabel('Comportamiento del gasto 3')

grid on

subplot(235);

plot(corriente3_fc,'r')

title('GASTO 3 DEFINIDO POR EL EXPERTO')

xlabel('Tiempo')

ylabel('Comportamiento del gasto 3')

grid on

subplot(236)

plot(gracor3_fc,'r'), hold on

plot(corriente3_fc,'b')

title('GASTO 3 DEFINIDO POR EL CPD Y EL EXPERTO')

xlabel('Tiempo')

ylabel('Comportamiento de la válvula 3')

grid on

%------------------------------------------------------------------------

% Resultados del experto y del CPD factor coupling

%------------------------------------------------------------------------

figure(33)

%subplot(311)

Page 120: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 107

plot(referencia1,'r'), hold on

plot(referencia2,'b'), hold on

plot(referencia3,'g'), hold on

axis([0 51 0 550])

xlabel('Tiempo')

ylabel('Gasto requerido, lts/min')

title('REFERENCIA DE GASTO DEL SISTEMA, CAMBIO EN LA REFERENCIA 1')

grid on

figure(34)

%subplot(312)

plot(entrada1_fc,'r'), hold on

plot(entrada2_fc,'b'), hold on

plot(entrada3_fc,'g'), hold on

axis([0 51 0 550])

xlabel('Tiempo')

ylabel('Flujo requerido, lts/min')

title('RESPUESTA DEL EXPERTO ANTE EL FACTOR DE ACOPLAMIENTO PROPUESTO')

grid on

figure(35)

%subplot(313)

gasto1fc=gasto1_fc(:,1:51);

gasto2fc=gasto2_fc(:,1:51);

gasto3fc=gasto3_fc(:,1:51);

plot(gasto1fc,'r'), hold on

plot(gasto2fc,'b'), hold on

plot(gasto3fc,'g'), hold on

axis([0 51 0 550])

xlabel('Tiempo')

ylabel('Flujo requerido, lts/min')

title('RESPUESTA DE CPD ANTE EL FACTOR DE ACOPLAMIENTO PROPUESTO')

grid on

%------------------------------------------------------------------------

% RESULTADOS DEL DESACOPLAMIENTO TOTAL

%------------------------------------------------------------------------

%------------------------------------------------------------------------

% Demanda de gasto-presión del sistema DESACOPLAMIENTO TOTAL

%------------------------------------------------------------------------

figure(36)

subplot(311)

plot(corriente_total,'r')

axis([0, 51, 0, 1000])

xlabel('tiempo')

ylabel('lts/min')

title('DEMANDA DE GASTO DEL SISTEMA, DESACOPLAMIENTO TOTAL')

grid on

subplot(312)

voltreq=voltaje_requerido(:,1:51);

plot(voltreq,'b')

axis([0, 51, 0, 1000])

xlabel('tiempo')

Ylabel('Presión requerida')

title('PRESIÓN REQUERIDA')

Page 121: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 108

grid on

subplot(313)

plot(corriente_total,'r'), hold on

plot(voltreq,'b')

axis([0, 51, 0, 1000])

xlabel('tiempo')

ylabel('Demanda Gasto-Presión')

title('DEMANDA GASTO PRESIÓN')

grid on

%------------------------------------------------------------------------

% ENTRADAS DE REFERENCIA, RESPUESTA DEL EXPERTO

%------------------------------------------------------------------------

figure (37)

%subplot(121)

plot(entrada1,'r'), hold on

plot(entrada2,'b'), hold on

plot(entrada3,'g'), hold on

axis([0, 51, 50, 550])

xlabel('Tiempo')

ylabel('Gasto requerido, lts/min')

title('REFERENCIA DE GASTO DEL SISTEMA, lts/min')

grid on

figure(38)

%subplot(122)

plot(corriente1,'r'), hold on

plot(corriente2,'b'), hold on

plot(corriente3,'g'), hold on

axis([0, 51, 50, 550])

xlabel('Tiempo')

ylabel('Gasto requerido')

title('RESPUESTA DEL "EXPERTO"')

grid on

%------------------------------------------------------------------------

% Informe experto factor de acoplamiento

%------------------------------------------------------------------------

figure(39)

plot(E1_fc,'r')

xlabel('Tiempo')

ylabel('Error de gasto 1 ante factor de acoplamiento')

title('ERROR DE GASTO 1 ANTE FACTOR DE ACOPLAMIENTO DEL 50%')

grid on

figure(40)

plot(E2_fc,'g')

xlabel('Tiempo')

ylabel('Error de gasto 2 ante factor de acoplamiento')

title('ERROR DE GASTO 2 ANTE FACTOR DE ACOPLAMIENTO DEL 30 %')

grid on

figure(41)

plot(E3_fc,'b')

xlabel('Tiempo')

Page 122: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 109

ylabel('Error de gasto 3 ante factor de acoplamiento')

title('ERROR DE GASTO 3 ANTE FACTOR DE ACOPLAMIENTO DEL 20%')

grid on

%------------------------------------------------------------------------

% Conocimiento experto ERROR desacoplamiento total

%------------------------------------------------------------------------

figure(42)

plot(E1_td,'r')

xlabel('Tiempo')

ylabel('Error de gasto 1')

axis([0 51 -0.5 3.5])

title('ERROR DE GASTO 1')

grid on

figure(43)

plot(E2_td,'g')

xlabel('Tiempo')

ylabel('Error de gasto 2')

axis([0 51 -0.5 1])

title('ERROR DE GASTO 2')

grid on

figure(44)

plot(E3_td,'b')

xlabel('Tiempo')

ylabel('Error de gasto 3')

axis([0 51 -0.5 1])

title('ERROR DE GASTO 3')

grid on

%------------------------------------------------------------------------

% Deamanda gasto-presión desacoplamiento total

%------------------------------------------------------------------------

figure(60)

subplot(311)

plot(entrada1,'r'), hold on

plot(entrada2,'b'), hold on

plot(entrada3,'m'), hold on

axis([0, 51, 0, 550])

xlabel('Tiempo')

ylabel('Referencia de gasto, lts/min')

title('REFERENCIA DE GASTO DEL SISTEMA, lts/min')

grid on

subplot(312)

voltreq=voltaje_requerido(:,1:51);

plot(corriente1,'r'), hold on

plot(corriente2,'b'), hold on

plot(corriente3,'m'), hold on

axis([0, 51, 0, 550])

xlabel('Tiempo')

Ylabel('Respuesta del "experto", lts/min')

title('RESPUESTA DEL "EXPERTO, lts/min"')

grid on

Page 123: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 110

subplot(313)

tub1=gasto1(:,1:51);

tub2=gasto2(:,1:51);

tub3=gasto3(:,1:51);

plot(tub1,'r'), hold on

plot(tub2,'b'), hold on

plot(tub3,'m'), hold on

axis([0, 51, 0, 550])

xlabel('Tiempo')

ylabel('Respuesta CPD, lts/min')

title('RESPUESTA DEL CPD, lts/min')

grid on

figure(61)

tub1=gasto1(:,1:51);

tub2=gasto2(:,1:51);

tub3=gasto3(:,1:51);

plot(tub1,'r'), hold on

plot(tub2,'b'), hold on

plot(tub3,'m'), hold on

axis([0, 51, 0, 550])

xlabel('Tiempo')

ylabel('Respuesta CPD, lts/min')

title('RESPUESTA DEL CPD, lts/min')

grid on

%------------------------------------------------------------------------

% Respuestas para el desacoplamiento parcial

%------------------------------------------------------------------------

figure(62)

subplot(311)

plot(entrada1_fc,'r'), hold on

plot(entrada2_fc,'b'), hold on

plot(entrada3_fc,'m'), hold on

axis([0, 51, 0, 550])

xlabel('time')

ylabel('lts/seg ')

title('FLOW REFERENCE, COUPLING FACTOR')

grid on

subplot(312)

plot(corriente1_fc,'r'), hold on

plot(corriente2_fc,'b'), hold on

plot(corriente3_fc,'m'), hold on

axis([0, 51, 0, 550])

xlabel('time')

Ylabel('Proportional response, coupling factor')

title('EXPERT RESPONSE, COUPLING FACTOR"')

grid on

subplot (313)

tub1=gasto1_fc(:,1:51);

tub2=gasto2_fc(:,1:51);

tub3=gasto3_fc(:,1:51);

plot(tub1,'r'), hold on

plot(tub2,'b'), hold on

Page 124: Acoplamiento y Desacoplamiento Difuso de Sistemas Regulares

- - 111

plot(tub3,'m'), hold on

axis([0, 51, 0, 550])

xlabel('tiempo')

ylabel('lts/seg')

title('RESPUESTA CPD, FACTOR DE ACOPLAMIENTO')

grid on