智能控制理论与应用(第四版)-第三章思考题与习题

2024-04-13 09:36

本文主要是介绍智能控制理论与应用(第四版)-第三章思考题与习题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

思考题与习题3

3-1

3-2

(1)(P◦Q)◦R

(2)(P∪Q)◦S

(3)%(P◦S)∪(Q◦S)

3-3

3-4


思考题与习题3

3-1

解:由题意得,语气算子“很”\lambda =2\mu _{w}(a)=(\mu _{Y}(a))^2

所以“很年轻W”模糊集的隶属函数为

V为“不老也不年轻”,则V=\bar{O}\bigcap\bar{Y}

所以“不老也不年轻V”模糊集的隶属函数为

MATLAB仿真代码如下:

clear all;
close all;
%年老
for k1 = 1:1:2001x1(k1) = (k1-1)*0.1;if x1(k1)>=50&x1(k1)<=70y1(k1)=( x1(k1) -50)/20;elseif x1(k1)>70y1(k1) = 1.0;elsey1(k1) = 0;end
end
%年轻
for k = 1:1:2001x(k) = (k-1)*0.1;if x(k)>=0&x(k)<=25;y(k) = 1.0;elseif x(k)>25&x(k)<=70y(k)=(70 - x(k))/45;elsey(k) = 0;end
end
%很年轻
for k2 = 1:1:2001x2(k2) = (k2-1)*0.1;if x(k2)>=0&x(k2)<=25;y2(k2) = 1.0;elseif x(k2)>25&x(k2)<=70y2(k2)=((70 - x(k2))/45)^2;elsey2(k2) = 0;end
end
%不老也不年轻
for k3 = 1:1:2001x3(k3) = (k3-1)*0.1;if x(k3)>=25&x(k3)<=56.1;y3(k3) = 1-(70 - x3(k3))/45;elseif x(k3)>56.1&x(k3)<=70y3(k3)=1- (x3(k3) -50)/20;elsey3(k3) = 0;end
end
figure(1);
plot(x,y,'k');
xlabel('x Years');ylabel('Degree of membership');title('年老O')
figure(2)
plot(x1,y1,'k');
xlabel('x Years');ylabel('Degree of membership');title('年轻Y')
figure(3)
plot(x2,y2,'k');
xlabel('x Years');ylabel('Degree of membership');title('很年轻W')
figure(4)
plot(x3,y3,'k');
xlabel('x Years');ylabel('Degree of membership');title('不老也不年轻V')

3-2

(1)(P◦Q)◦R

MATLAB仿真代码如下:

clear all;
close all;P=[0.6,0.9;0.2,0.7];
Q=[0.5,0.7;0.1,0.4];
R=[0.2,0.3;0.7,0.7];
S=[0.1,0.2;0.6,0.5];%3.2.1
%P◦Q
for i=1:2for j=1:2PQ1(i,j)=max(min(P(i,:),Q(:,j)'))end
end
%(P◦Q)◦R
for i=1:2for j=1:2PQR(i,j)=max(min(PQ1(i,:),R(:,j)'))end
end

(2)(P∪Q)◦S

MATLAB仿真代码如下:

%3.2.2
%P∪Q
PQ2=max(P,Q)
%(P∪Q)◦S
for i=1:2for j=1:2PQS(i,j)=max(min(PQ2(i,:),S(:,j)'))end
end

(3)%(P◦S)∪(Q◦S)

MATLAB仿真代码如下:

%3.3.3
%P◦S
for i=1:2for j=1:2PS(i,j)=max(min(P(i,:),S(:,j)'))end
end
%Q◦S
for i=1:2for j=1:2QS(i,j)=max(min(Q(i,:),S(:,j)'))end
end
%(P◦S)∪(Q◦S)
for i=1:2for j=1:2PSQS(i,j)=max(min(PS(i,:),QS(:,j)'))end
end

3-3

MATLAB仿真代码如下:

% 定义模糊关系矩阵R和右侧矩阵B  
R = [0.8, 0.5, 0.6; 0.4, 0.8, 0.5];  
B = [0.5; 0.6];  % 设置最大迭代次数和收敛阈值  
max_iter = 1000;  
tol = 1e-6;  % 调用函数求解模糊关系方程  
X = solve_fuzzy_relation_equation(R, B, max_iter, tol);  % 显示结果  
disp(X);function X = solve_fuzzy_relation_equation(R, B, max_iter, tol)  % R是模糊关系矩阵 (m x n)  % B是右侧矩阵 (m x p)  % max_iter是最大迭代次数  % tol是收敛阈值  % 获取矩阵的维度  [m, n] = size(R);  [~, p] = size(B);  % 初始化X矩阵,通常可以随机初始化或全部设为1  X = ones(n, p);  % 迭代求解  for iter = 1:max_iter  X_old = X; % 保存上一次迭代的X矩阵  % 执行模糊关系的合成运算  X_new = zeros(n, p);  for i = 1:n  for j = 1:p  max_val = -inf;  for k = 1:m  val = min(R(k, i), B(k, j));  if val > max_val  max_val = val;  end  end  X_new(i, j) = max_val;  end  end  % 检查收敛性  if norm(X_new - X_old, 'inf') < tol  X = X_new;  break;  end  X = X_new;  end  
end  

3-4

MATLAB仿真代码如下:

clear all;
close all;A=[1;0.5];
B=[0.1,0.5,1];
C=[0.2,1];% Compound of A and B
AB=min(A,B);%Transfer to Column
AB_column = reshape(AB',6,1);
%Get fuzzy R
for i=1:6for j=1:2R(i,j)=min(AB_column(i),C(j));end
endA1=[0.8;0.1];
B1=[0.5,0.2,0];
% Compound of A1 and B1
AB1=min(A1,B1);
%Transfer to Row
AB1_column = reshape(AB1',1,6);%Get output C1
for i=1:6for j=1:2D(i,j)=min(AB1_column(i),R(i,j));C1(j)=max(D(:,j));end
end
disp(C1)

如有错误,请各位在评论区批评指正! 

这篇关于智能控制理论与应用(第四版)-第三章思考题与习题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899778

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时