• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: ANN  matlab  

资源简介

在网上收集了很多资料,然后整理出了这个代码,并根据个人理解做了一些比较详细的注解。希望能对大家有所帮助,不足之处也请大家多多指教!

资源截图

代码片段和文件信息

% 导入样本数据
A = dir(fullfile(‘C:\Users\19053\Desktop\shuju\*.txt‘));

%定义即将使用的变量
target_sample=[];
input_sample=[];
m=1;

%构造输出矩阵。将x1、x2与y进行行向量组合。input_sample=[x1;x2]; target_sample=y。y是行向量。
for i = 1:length(A)
    s=load(A(i).name);
    n=length(s);
    input_sample=[input_sample;s];
    target_sample(m:length(input_sample)i) = 1;
    m=m+n;
end
%设置参数。下面的两个参数必须是x1、x2与y的行向量组合。
input_sample=input_sample‘; 
target_sample=target_sample‘;

%读入影像。将影像变为2份,一份用于训练,一份用于测试。
OI = double(imread(‘caijian.tif‘));
[xyz] = size(OI);
OI = reshape(OIx*yz);
OI=OI‘;

%打开神经网络工具
nprtool

%创建网络(选择运算法则Algorithms+设置训练参数)
trainFcn = ‘trainscg‘;%设置训练函数。ScaledConjugate Gradient算法内存需求较小,计算速度快。
hiddenlayerSize = 10;%设置掩层数量
net = patternnet(hiddenlayerSize trainFcn);%建立网络
net.input.processFcns = {‘removeconstantrows‘‘mapminmax‘};%数据归一化处理
net.divideFcn = ‘dividerand‘;  %随机划分数据
net.divideMode = ‘sample‘;  %划分每个样本
net.divi

评论

共有 条评论