人工智能---自动控温系统模糊推理的应用

 

 

操作步骤 

在命令行或 visual studio2019 等集成开发环境中运行程序 AI.cpp。按照提示输入相应的温度和湿度 运算出应该运行的时间,具体执行结果如下图。

  • 结果展示

// AI.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。


#include <iostream>

using namespace std;

float dwet, zwet, gwet;

float dtem, ztem, gtem;

float tem, wet;

float tem1(float tem) {

    float a;

    if (tem >= 0 && tem <= 40) {

        dtem = 1 - (0.025 * tem);

    }

    else dtem = 0;



    if (20 <= tem && tem <= 50) {

        a = 2.0 / 3;

        ztem = tem / 30 -a;

    }

    else if (tem >= 50 && tem <= 80) {

        a = 8.0 / 3;

        ztem = tem / 30 - a;

        ztem = -ztem;



    }

    else ztem = 0;



    if (tem >= 60 && tem <= 100) {

        gtem = 0.025 * tem - 1.5;

    }

    else gtem = 0;

    

    return dtem,ztem,gtem;

}

float wet1(float wet) {

  

    if (wet >= 0 && wet <= 25) {

        dwet = 1 - (0.04 * wet);

    }

    else dwet = 0;



    if (15 <= wet && wet <= 30) {

        zwet = wet / 15 - 1;

    }

    else if (wet >= 30 && wet <= 45) {

        zwet = -wet / 15 + 3;



    }

    else zwet = 0;



    if (wet >= 35 && wet <= 60) {

        gwet = 0.04 * wet - 1.4;

    }

    else gwet = 0;



    return dwet, zwet, gwet;

}

void rule() {

    //长

    //小中

    float L=0,Z=0,D=0;

    if (dtem < zwet&&dtem!=0&&zwet!=0) {

        L = dtem;

    }

    else if(dtem != 0 && zwet != 0) {

        L = zwet;

    }

    //小高

    if (dtem < gwet && dtem != 0 && gwet != 0) {

        if (dtem > L) L = dtem;

    }

    else if (dtem != 0 && gwet != 0) {

        if (gwet > L) L = gwet;

    }

    //大低

    if (gtem < dwet && gtem != 0 && dwet != 0) {

        if (gtem > L) L = gtem;

    }

    else if (gtem != 0 && dwet != 0) {

        if (dwet > L) L = dwet;

    }

    //中

    if (dtem < dwet && dtem != 0 && dwet != 0) {

        Z = dtem;

    }

    else if (dtem != 0 && dwet != 0) {

        Z = dwet;

    }

    //中中

    if (ztem < zwet && ztem != 0 && zwet != 0) {

        if (ztem > Z) Z = ztem;

    }

    else if (ztem != 0 && zwet != 0) {

        if (zwet > Z) Z = ztem;

    }

    //中高

    if (ztem < gwet && ztem != 0 && gwet != 0) {

        if (ztem > Z) Z = ztem;

    }

    else if (ztem != 0 && gwet != 0) {

        if (gwet > Z) Z = gwet;

    }

    //大高

    if (dtem < dwet && dtem != 0 && dwet != 0) {

        if (dtem > Z) Z = dtem;

    }

    else if (dtem != 0 && dwet != 0) {

        if (dwet > Z) Z = dwet;

    }

    //短

    if (ztem < dwet && ztem != 0 && dwet != 0) {

        D = ztem;

    }

    else if (ztem != 0 && dwet != 0) {

        D = dwet;

    }

    //大中

    if (dtem < zwet && dtem != 0 && zwet != 0) {

        if (dtem > D) D = dtem;

    }

    else if (dtem != 0 && zwet != 0) {

        if (zwet > D) D = ztem;

    }

    float sum = L + Z + D;

    float u = L * 1000 + Z * 500 + D * 100;



    cout <<"系统平均温度为"<<tem<<"湿度为"<<wet<<"%应该运行"<< u / sum <<"s"<<endl;

       

}

int main()

{

    cout << "请输入温度和湿度";

    cin >> tem >> wet;

    tem1(tem);

    wet1(wet);

    rule();

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值