数学建模-MATLAB神经网络工具箱实现数据拟合预测

  1. 将数据集保存在矩阵data中

  1. 在APP页面找到Neural Net Fitting

3.输入与目标均为 data,Samples are 选择 Matrix rows

4.训练集和验证集的百分比可以自定义,一般默认

  1. 三种算法,各有优劣,一般默认第一个,点击Train进行训练

4.点击Performance

5.以此图为例,13.1572代表误差,误差越低越好,可以通过retrain和改变算法来降低误差

6.点击regression

7.三张图分别代表训练集验证集和综合数据的拟合程度,越接近1 效果越好

8.点击next三次

9.点击save results将训练网络保存到matlab工作区

10.若在工作区看到以下三个变量代表保存成功

1预测示例代码如下

% 写一个循环,预测接下来的十个样本的辛烷值

% 注意要将指标变为列向量,然后再用sim函数预测

predict_y = zeros(10,1); % 初始化predict_y

for i = 1: 10

result = sim(net, new_X(i,:)');

predict_y(i) = result;

end

disp('预测值为:')

disp(predict_y)

  • 2
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
预测问题是一个非常广泛的问题,需要具体分析不同的情况和数据。在 Matlab 中,可以使用多种方法进行预测,最常见的包括时间序列分析、机器学习和神经网络等。 其中,时间序列分析是最常见的预测方法之一,可以使用 Matlab 中的预测函数进行实现。例如,可以使用 "predict" 函数对时间序列进行预测,示例代码如下: ```matlab % 加载数据 load(fullfile(matlabroot,'examples','econ','Data_Airline.mat')); % 创建时间序列对象 y = log(Data); ts = timeseries(y); % 划分训练集和测试集 num_obs = numel(y); num_train = round(num_obs*0.8); [train,test] = splitdata(ts,num_train); % 选择模型 Mdl = arima(2,1,2); EstMdl = estimate(Mdl,train); % 预测并可视化 [yF,yMSE] = forecast(EstMdl,numel(test),'Y0',train); yF = exp(yF); y = exp(y); figure plot(y) hold on plot([y(num_train) yF],'r') xlim([1 num_obs]) legend('Observed','Forecast') title('Airline Passengers') ``` 在上述代码中,我们首先加载了一个样例数据集 "Data_Airline.mat",然后将其转化为时间序列对象,并划分为训练集和测试集。接下来,我们选择了一个 ARIMA 模型进行拟合,并使用 "forecast" 函数对测试集进行预测。最后,我们将预测结果可视化。 需要注意的是,上述代码仅仅是一个简单的示例,对于不同的预测问题需要选择不同的模型和方法,具体实现方式可能还需要进行调整和优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2ephyr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值