Exemple #1
0
        protected static void writeAboutVariblesAndTerms(XmlWriter writer, TSAFuzzySystem Approximate)
        {
            writer.WriteStartElement("Variables");
            writer.WriteAttributeString("Count", XmlConvert.ToString(Approximate.CountFeatures));
            for (int i = 0; i < Approximate.CountFeatures; i++)
            {
                if (Approximate.AcceptedFeatures[i] == false)
                {
                    continue;
                }
                writer.WriteStartElement("Variable");
                writer.WriteAttributeString("Name", Approximate.LearnSamplesSet.InputAttributes[i].Name);
                writer.WriteAttributeString("Min",
                                            XmlConvert.ToString(Approximate.LearnSamplesSet.InputAttributes[i].Min));
                writer.WriteAttributeString("Max",
                                            XmlConvert.ToString(Approximate.LearnSamplesSet.InputAttributes[i].Max));
                List <Term> terms_for_varrible =
                    Approximate.RulesDatabaseSet[0].TermsSet.Where(x => x.NumVar == i).ToList();
                writer.WriteStartElement("Terms");
                writer.WriteAttributeString("Count", XmlConvert.ToString(terms_for_varrible.Count));

                foreach (var term in terms_for_varrible)
                {
                    BaseUFSWriter.writeAboutTerm(writer, Approximate.RulesDatabaseSet[0].TermsSet.IndexOf(term), term);
                }
                writer.WriteEndElement();
                writer.WriteEndElement();
            }

            writer.WriteEndElement();
        }
Exemple #2
0
        public static bool saveToUFS(TSAFuzzySystem Approximate, string fileName)
        {
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Encoding           = Encoding.UTF8;
            settings.Indent             = true;
            settings.IndentChars        = "\t";
            settings.NewLineChars       = Environment.NewLine;
            settings.NewLineHandling    = NewLineHandling.None;
            settings.OmitXmlDeclaration = false;
            XmlWriter writer = XmlTextWriter.Create(fileName, settings);

            writer.WriteStartElement("FuzzySystem");
            writer.WriteAttributeString("Type", "ApproximatorTakagiSugeno");
            writeAboutVariblesAndTerms(writer, Approximate);
            writeAboutRules(writer, Approximate);
            BaseUFSWriter.writeAboutObservation(writer, Approximate);
            writeAboutEstimates(writer, Approximate);
            writer.WriteEndElement();
            writer.Close();
            return(false);
        }