当前位置: 首页 > news >正文

matlab神经网络预测数据,Matlab神经网络预测复数

1、如何利用matlab进行神经网络预测

matlab 带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子。
核心调用语句如下:
%数据输入

%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,[8 8]);
net.trainParam.epochs=100;
net.trainParam.lr=0.01;
net.trainParam.goal=0.01;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
%网络预测输出
an=sim(net,inputn_test);
%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
%% 结果分析

谷歌人工智能写作项目:小发猫

2、请问MATLAB中神经网络预测结果应该怎么看?求大神解答

从图中Neural
Network可以看出,你的网络结构是两个隐含层,2-3-1-1结构的网络,算法是traindm,显示出来的误差变化为均方误差值msematlab神经网络预测。经过482次迭代循环完成训练,耗时5秒。相同计算精度的话,训练次数越少,耗时越短,网络结构越优秀。达到设定的网络精度0.001的时候,误差下降梯度为0.0046,远大于默认的1e-5,说明此时的网络误差仍在快速下降,所以可以把训练精度目标再提高一些,比如设为0.0001或者1e-5。

3、关于构建一个三层BP神经网络对药品的销售进行预测(程序由matlab编写)

clear all;
close all;
clc;
%p = [2056 2395 2600 2298 1634 1600 1837 1478 1900 2395 2600 2298 1634 1600 1873 1478 1900 1500 2600 2298 1634 1600 1873 1478 1900 1500 2046];
t = [1873 1478 1900 1500 2046 1556];
p = [ 2056 2395 2600 2298 1634 1600];
%--归一化输入输出-- 映射到[0,1]--%
pmax = max(p);
pmin = min(p);
P = (p-pmin)./(pmax-pmin);
tmax = max(t);
tmin = min(t);
T = (t-tmin)./(tmax-tmin);
net =newff(P,T,5,{'tansig','purelin'},'traingdx');
%--设置训练参数--%
net.trainParam.show =50;
net.trainParam.lr = 0.05;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
net.divideFcn= '';
[net,tr] = train(net,P,T);
A =sim(net,P);
a =A.*(tmax - tmin)+tmin;
x = 7:12;
figure
plot(x,t,'+');
hold on;
plot(x,a,'or');
hold off;
xlabel('month');
ylabel('**')
legend('实际','预测')

4、matlab中用RBF神经网络做预测的代码怎么写

clc;

clearall;

closeall;

%%----BuildatrainingsetofasimilarversionofXOR

c_1=[00];

c_2=[11];

c_3=[01];

c_4=[10];

n_L1=20;%numberoflabel1

n_L2=20;%numberoflabel2

A=zeros(n_L1*2,3);

A(:,3)=1;

B=zeros(n_L2*2,3);

B(:,3)=0;

%createrandompoints

fori=1:n_L1

A(i,1:2)=c_1+rand(1,2)/2;

A(i+n_L1,1:2)=c_2+rand(1,2)/2;

end

fori=1:n_L2

B(i,1:2)=c_3+rand(1,2)/2;

B(i+n_L2,1:2)=c_4+rand(1,2)/2;

end

%showpoints

scatter(A(:,1),A(:,2),[],'r');

holdon

scatter(B(:,1),B(:,2),[],'g');

X=[A;B];

data=X(:,1:2);

label=X(:,3);

%%Usingkmeanstofindcintervector

n_center_vec=10;

rng(1);

[idx,C]=kmeans(data,n_center_vec);

holdon

scatter(C(:,1),C(:,2),'b','LineWidth',2);

%%Calulatesigma

n_data=size(X,1);

%calculateK

K=zeros(n_center_vec,1);

fori=1:n_center_vec

K(i)=numel(find(idx==i));

end

%UsingknnsearchtofindKnearestneighborpointsforeachcentervector

%thencalucatesigma

sigma=zeros(n_center_vec,1);

fori=1:n_center_vec

[n,d]=knnsearch(data,C(i,:),'k',K(i));

L2=(bsxfun(@minus,data(n,:),C(i,:)).^2);

L2=sum(L2(:));

sigma(i)=sqrt(1/K(i)*L2);

end

%%Calutateweights

%kernelmatrix

k_mat=zeros(n_data,n_center_vec);

fori=1:n_center_vec

r=bsxfun(@minus,data,C(i,:)).^2;

r=sum(r,2);

k_mat(:,i)=exp((-r.^2)/(2*sigma(i)^2));

end

W=pinv(k_mat'*k_mat)*k_mat'*label;

y=k_mat*W;

%y(y>=0.5)=1;

%y(y<0.5)=0;

%%trainingfunctionandpredictfunction

[W1,sigma1,C1]=RBF_training(data,label,10);

y1=RBF_predict(data,W,sigma,C1);

[W2,sigma2,C2]=lazyRBF_training(data,label,2);

y2=RBF_predict(data,W2,sigma2,C2);

扩展资料

matlab的特点

1、具有完备的图形处理功能,实现计算结果和编程的可视化;

2、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

3、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

参考资料来源:

5、matlab神经网络怎么多步预测,滚动预测

matlab神经网络怎么多步预测,滚动预测
训练完成后保存模型,
再将要预测的输入数据输入模型,出来的结果就是了

相关文章:

  • 毕业设计 基于单片机的智能蓝牙密码锁设计与实现
  • 【线上实习项目】助力你的校招!
  • 吊打面试官系列之--吃透Spring ioc 和 aop (中)
  • Matlab制作GUI
  • Spring Data JPA或Spring Data JDBC中Like和Containing区别
  • SpringMVC04之JSON和全局异常处理
  • <C++> list容器本质|常用接口|自定义排序规则
  • 【Matlab】简单控制系统建模(控制系统工具箱)
  • 设计模式——模板模式
  • 倍投技巧 - 凯利公式教你如何用正确的方法投资
  • SpringBoot restful api接口设计
  • 软件测试高薪“骗局”软件测试入门就月薪过万,还包就业。别再上当受骗了、清醒点吧
  • 【DP 动态规划 | 精选推荐】持续更新
  • 专利的要求-需要什么条件?
  • Google Earth Engine (GEE)——GEE制作gif动态图(北京市为例)
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【刷算法】从上往下打印二叉树
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • C++入门教程(10):for 语句
  • Java教程_软件开发基础
  • PAT A1017 优先队列
  • Python连接Oracle
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • 聚簇索引和非聚簇索引
  • 你不可错过的前端面试题(一)
  • 入口文件开始,分析Vue源码实现
  • 入门级的git使用指北
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 树莓派 - 使用须知
  • 项目管理碎碎念系列之一:干系人管理
  • FaaS 的简单实践
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (2020)Java后端开发----(面试题和笔试题)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (二)linux使用docker容器运行mysql
  • (六)c52学习之旅-独立按键
  • (七)Knockout 创建自定义绑定
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (五)c52学习之旅-静态数码管
  • (小白学Java)Java简介和基本配置
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (轉)JSON.stringify 语法实例讲解
  • . Flume面试题
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net程序集学习心得
  • .NET开发者必备的11款免费工具
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @EnableAsync和@Async开始异步任务支持