基于灰狼优化支持向量机(GWO-SVM)的数据回归预测,带有数据集,可直接更换数据运行
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据
res = xlsread('数据集.xlsx');
%% 数据分析
num_size = 0.7; % 训练集占数据集比例
outdim = 1; % 最后一列为输出
num_samples = size(res, 1); % 样本个数
res = res(randperm(num_samples), :); % 打乱数据集(不希望打乱时,注释该行)
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;
MATLAB贪吃蛇游戏,亲测可运行 带有GUI
function snake_move(handles);
axespos = get(handles.axes1,'Position');%
XLim = axespos(3);
YLim = axespos(4);
direction = getappdata(handles.figure1,'direction');;
MoveX = get(handles.MoveBlock,'XData');
MoveY = get(handles.MoveBlock,'YData');
HeadX = get(handles.HeadBlock,'XData');
HeadY = get(handles.HeadBlock,'YData');
switch direction
case 'leftarrow'
TempX = MoveX(end) - 20;
if (TempX < 0 | ismember([TempX,MoveY(end)],[MoveX',MoveY'],'rows')) %撞墙
seta
粒子群优化PID参数,可直接运行
程序运行说明:
Step1:打开“01_仿真模型"文件夹,然后选择和你电脑上的MATLAB版本最接近的文件夹
Step2:文件功能说明如下:
PSO.m为粒子群优化主程序,程序优化的模型为PID_Model.slx,因此先打开PID_Model.slx,然后运行此程序即可优化。
regular_PID.slx为使用传统PID算法的模型
rPIDvsPSO.slx是使用上述粒子群优化得到的PID参数和regular_PID里面的参数进行对比的仿真模型。
鱼眼镜头识别,matlab代码
function [edgeLinkedImage, distorted_img] = canny_edge_detector(input_img)
distorted_img = imread(input_img);
[gradient_magnitude_x,gradient_magnitude_y,gradient_magnitude,gradient_direction] = computeGradient(distorted_img);
[nms_img,nms_imgv] = non_maxima_suppression(gradient_magnitude,gradient_direction);
[highThresholdedImage,lowThresholdedImage,edgeLinkedImage] = hysteresis_thresholding(nms_img,nms_imgv,gradient_direction);
% subplot(3,7,1), imshow(distorted_img); title('失真图像');
% subplo
基于BP神经网络的时间序列预测
%% 创建网络
net = newff(p_train, t_train, 5);
%% 设置训练参数
net.trainParam.epochs = 1000; % 迭代次数
net.trainParam.goal = 1e-6; % 误差阈值
net.trainParam.lr = 0.01; % 学习率
%% 训练网络
net= train(net, p_train, t_train);
%% 仿真测试
t_sim1 = sim(net, p_train);
t_sim2 = sim(net, p_test);
%% 数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
figure
scatter(T_test, T_sim2, sz, c)
hold on
plot(xlim, ylim, '--k')
xlabel('测试集真实值');
ylabel('测试集
基于偏最小二乘算法的数据回归预测,MATLAB代码,不使用工具箱,带有数据集,更换数据集可直接运行
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%% 转置以适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
%% 创建网络
k = 7; % 保留成分个数
[theta, ch0] = my_pls(p_train, t_train, k);
%% 仿真测试
t_sim1 = sim_pls(p_train, theta, ch0);
t_sim2 = sim_pls(p_test , theta, ch0);
%% 数据反归一化
T_sim1 = mapminmax('reverse', t_sim
某钢厂一周高炉煤气柜柜容值
某钢厂一周高炉煤气柜柜容值
基于卷积神经网络手写数字识别,MATLAB代码,带有gui界面
layers = [
imageInputLayer([28 28 1])
convolution2dLayer(3,8,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(3,16,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
fullyConnectedLayer(10)
softmaxLayer
classificationLayer];
[imdsTrain,imdsValid
ARIMA模型实现单步预测,带有数据集,可直接运行
data = xlsread('1.xlsx');
data = data(:,6);
% 将数据分为训练集(70%)和测试集(30%)
train_size = round(0.7 * length(data));
train_data = data(1:train_size);
test_data = data(train_size+1:end);
% 拟合ARIMA模型
p = 2; % AR阶数
d = 1; % 差分阶数
q = 1; % MA阶数
model = arima(p, d, q);
estimated_model = estimate(model, train_data);