通过matlab,利用模糊稳定法,建立基于模糊动态的振动表达模型,通过模型详细计算切削振动影响较大的因素,并给出matlab代码
时间: 2023-09-30 14:05:25 浏览: 32
建立基于模糊动态的振动表达模型,需要进行以下步骤:
1. 确定振动表达模型的输入变量和输出变量,例如切削参数(切削速度、进给量、切削深度等)作为输入变量,切削振动作为输出变量。
2. 设计模糊控制器的模糊规则,根据专家经验和实验数据确定各个输入变量的模糊集和输出变量的模糊集。
3. 通过模糊推理,计算出输出变量的模糊值。
4. 根据模糊值和模糊集之间的转换关系,得到输出变量的实际值。
5. 利用模糊控制器对输出变量进行调节,实现振动控制。
下面是利用MATLAB实现基于模糊动态的振动表达模型的示例代码:
```
% 切削参数输入变量
v = 0:10:100;
f = 0:1:10;
d = 0:0.1:1;
% 切削振动输出变量
vibration = 0:0.1:1;
% 设计模糊控制器
v_fuzz = trimf(v, [10 50 90]); % 切削速度的模糊集
f_fuzz = trimf(f, [1 5 10]); % 进给量的模糊集
d_fuzz = trimf(d, [0.1 0.5 1]); % 切削深度的模糊集
vibration_fuzz = trimf(vibration, [0.1 0.5 1]); % 切削振动的模糊集
rule_list = [1 1 1 1; 1 2 2 1; 1 3 3 1; 2 1 2 1; 2 2 3 1; 2 3 3 1; 3 1 2 1; 3 2 3 1; 3 3 3 1]; % 模糊规则表
% 构建模糊推理系统
fis = newfis('vibration_control', 'mamdani', 'min', 'max', 'min', 'max', 'centroid');
fis = addvar(fis, 'input', 'v', [0 100]);
fis = addmf(fis, 'input', 1, 'low', 'trimf', [0 0 50]);
fis = addmf(fis, 'input', 1, 'medium', 'trimf', [10 50 90]);
fis = addmf(fis, 'input', 1, 'high', 'trimf', [50 100 100]);
fis = addvar(fis, 'input', 'f', [0 10]);
fis = addmf(fis, 'input', 2, 'low', 'trimf', [0 0 2.5]);
fis = addmf(fis, 'input', 2, 'medium', 'trimf', [1 5 10]);
fis = addmf(fis, 'input', 2, 'high', 'trimf', [7.5 10 10]);
fis = addvar(fis, 'input', 'd', [0 1]);
fis = addmf(fis, 'input', 3, 'low', 'trimf', [0 0 0.5]);
fis = addmf(fis, 'input', 3, 'medium', 'trimf', [0.1 0.5 1]);
fis = addmf(fis, 'input', 3, 'high', 'trimf', [0.5 1 1]);
fis = addvar(fis, 'output', 'vibration', [0 1]);
fis = addmf(fis, 'output', 1, 'low', 'trimf', [0 0 0.5]);
fis = addmf(fis, 'output', 1, 'medium', 'trimf', [0.1 0.5 1]);
fis = addmf(fis, 'output', 1, 'high', 'trimf', [0.5 1 1]);
fis = addrule(fis, rule_list);
% 计算切削振动影响较大的因素
input_data = [50, 5, 0.5]; % 输入变量
output_vibration = evalfis(input_data, fis); % 输出变量
% 显示结果
disp(['切削速度: ', num2str(input_data(1)), ', 进给量: ', num2str(input_data(2)), ', 切削深度: ', num2str(input_data(3)), ', 切削振动: ', num2str(output_vibration)]);
```
以上代码中,首先定义了切削参数和切削振动的模糊集。然后通过定义模糊规则表、输入变量的模糊集和输出变量的模糊集,构建了模糊推理系统。最后通过`evalfis`函数计算出输出变量的模糊值,并通过模糊集之间的转换关系得到实际的输出变量值。
这里的模糊推理系统仅做示例,实际应用中需要根据实验数据和专家经验进行优化和调整。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)