24小时热门版块排行榜    

查看: 944  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

那一片海

铜虫 (正式写手)

[交流] 【求助】插值程序出错,大家帮忙看看 已有3人参与

各位大虾帮忙看看为何该程序一直出错呢?谢谢clc %清除command window
clear %清除workspace
Pyuan=[115.6364167 37.99511667;115.6902167 37.99546667;115.7298167 37.99686667;115.7500333 37.9938;115.7694333 37.01708333;115.7304333 38.0174;115.6845833 38.02698333;115.7758667 38.11575;115.7988833 38.11233333;115.64        38.0525;115.7163667 38.05178333;115.73505 38.05318333;115.7642833 38.08058333;115.74035 38.08356667] %输入训练样本矩阵,二维矩阵,仅含x,y坐标值
Tyuan=[20.24;16.94;21.22;13.44;21.80;19.20;12.67;12.24;13.83;12.78;10.30;9.29;19.47;9.56] %输入目标输出,本文中为土壤SOM
jian=[115.5023333 37.95233333 14.11; 115.5531667 37.96 14.80 ;115.582 37.9705 19.86;115.63675 37.9665;11.31;115.69205 38.9596 19.00;
115.7119833 37.95888333 10.92;115.77495 37.96461667 11.89 ] %输入检验样本
%原始数据归一化预处理
l=length(Tyuan);
g=length(jian);
i=2;
Xmin=Pyuan(1,1);
Xmax=Pyuan(1,1);
Ymin=Pyuan(2,1);
Ymax=Pyuan(2,1);
Tmin=Tyuan(1,1);
Tmax=Tyuan(1,1);
while i<=l
  if Pyuan(1,i)       Xmin = Pyan(1,i);
      i=i+1;
  else
      i=i+1;
   end
end
i=2;
while i<=l
     if Pyuan(1,i)>Xmax
         Xmax=Pyuan(1,i);
         i=i+1;
      else
          i=i+1;
      end
end
i=2;
while i<=l
    if Ymin>Pyuan(2,i)
          Ymin=Pyuan(2,i);
          i=i+l;
      else
           i=i+l;
       end
end
i=2;
while i<=l
     if Ymax          Ymax=Pyuan(2,i);
         i=i+1;
      else
          i=i+1;
      end
end
i=2;
while i<=l
   if Tmax        Tmax=Tyuan(1,i);
       i=i+1;
   else
       i=i+1;
   end
end
i=2;
while i<=l
    if Tmin>Tyuan(1,i)
       Tmin=Tyuann(1,i);
       i=i+1;
    else
       i=i+1;
    end
end
i=1;
Pxung=zeros(7,l);
Tmug=zeros(1,l);
jiang=zeros(7,g);
while i<=l
   Pxung(1,i)=(Pyuan(1,i)-Xmin)/(Xmax-Xmin);
   Pxung(2,i)=(Pyuan(2,i)-Ymin)/(Ymax-Ymin);
   Tmug(1,i)=(Tyuan(1,i)-Tmin)/(Tmax-Tmin);
   i=i+1;
end
i=1;
while i<=g
   jiang(1,i)=(jian(1,i)-Xmin)/(Xmax-Xmin);
   jiang(2,i)=(jian(2,i)-Ymin)/(Ymax-Ymin);
   i=i+1;
end
%插值点坐标生成
xx=(Xmin:50:Xmax);
yy=(Ymin:50:Ymax);
m=length(xx);
n=length(yy);
Q=m*n;
[XX, YY]=meshgrid(xx,yy);
a=repmat(xx,1,n);
b=zeros(1,Q);
k=1;
while  k<=n
   b(1,((k-1)*m+1):k*m)=YY(k,1:m);
   k=k+1;
end
Pyu(1,1:Q)=a(1,1:Q);
Pyu(2,1:Q)=b(1,1:Q);
%归一化处理
i=1;
Pyug=zeros(7,Q);
while i<=Q
     Pyug(1,i)=(Pyu(1,i)-Xmin)/(Xmax-Xmin);
     Pyug(2,i)=(Pyu(2,i)-Ymin)/(Ymax-Ymin);
     i=i+1;
end
%训练样本网络输入生成,以按邻近点距离由小到大依次确定第3、4、5、6、7
e=1;
f=1;
k=3;
h=0;
o=0;
c=0;
d=0;
D=30; %初始搜索半径D的设置应根据研究区的大小视情况而定
D1=0;
while f<=l
   if k>7
    f=f+1;
    k=3;
    e=l;
    D1=D;
    D=30;
else
   if e>l
     D1=D;
     D=D+5;%搜索步长的设定应根据样点的稀疏程度、空间采样尺度的大小设定,以保证5个已知采样点按距离由小到大依次被搜索到。
     e=1;
else
     h=Pyuan(1,f);
     o=Pyuan(2,f);
     e=Pyuan(1,e);
     d=Pyuan(2,e);
     DD=sqrt((h-c)^2+(o-d)^2);
     if D1<=DD&&DD         Pxung(k,f)=Tmug(1,e);
        k=k+1;
       e=e+1;
    else
       e=e+1;
      end
     end
    end
end
%插值点网络输入生成,以按邻近点距离由小到大依次确定第3、4、5、6、7个神经节元的输入。
e=1;
f=1;
k=3;
h=0;
o=0;
c=0;
d=0;
D=50;
D1=D;
while f<=Q
  if k >7
      f=f+1;
      k=3;
      e=l;
      D1=0;
      D=50;
else
    if e>=l
    D1=D;
    D=D+10;
    e=1;
else
    h=Pyu(1,f);
    o=Pyu(2,f);
    c=Pyuan(1,e);
    d=Pyuan(2,e);
    DD=sqrt((h-c)^2+(o-d)^2);
    if D1<=DD&&DD          Pyug(k,f)=Tmug(1,e);
         k=k+1;
         e=e+1;
    else
         e=e+1;
         end
       end
    end
end
%检验点网络输入生成,以按邻近点距离由小到大依次确定第3、4、5、6、7个神经节元的输入。
e=1;
f=1;
k=3;
h=0;
o=0;
c=0;
d=0;
D=30;
D1=0;
while f<=g
   if k>7
      f=f+1;
      k=3;
      e=l;
      D1=1;
      D=30;
else
    if e>=l
       D1=D;
       D=D+5;
       e=1;
else
   h=jian(1,f);
   o=jian(2,f);
   c=Pyuan(1,e);
   d=Pyuan(2,e);
   DD=sqrt((h-c)^2+(o-d)^2);
if D1<=DD&&DD     jiang(k,f)=Tmug(1,e);
    k=k+1;
    e=e+1;
else
    e=e+1;
   end
  end
end
end
%网络建立、训练与仿真
net=newrb(Pxung,Tmug,goal,spread,mn,df);
%goal为rose均方误差函数;spread为扩展常数:Inn为隐层神经元个数:df为显示频数。
JIAN=sim(net,jian);%利用检验样本进行网络泛化能力检验
Zyu=sim(net,Pyug); %对研究区进行插值
%还原数据
Zyuh=zeros(1,Q);
i=1;
while i<=Q
   Zyuh(1,i)=Zyu(1,i-Tmin)/(Tmax-Tmin);
i=i+1;
end
%将一维网络预测输出转为网络坐标点矩阵相对应的矩阵
j=1;
m=length(xx);
n=length(yy);
while j     jj=(j-1)*m+1;
    Zwang(j,1:m)=Zyuh(1,jj:j*m);
j=j+1;
end
%绘制研究区土壤属性空间分布趋势图
figure(1),contour(XX,YY,Zwang)%等值线图
figure(2),pcolor(XX,YY,Zwang)%伪彩图
figure(3),surf(aTe,YY,Zwang) %三维立体图
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

那一片海

铜虫 (正式写手)

引用回帖:
Originally posted by anyuezhiji at 2010-07-17 14:20:48:



程序比较乱  重新编程还简单些
主要是实现方法  对具体问题可以修改神经网络的参数
另外楼主提供的数据比较少 拟合出来跟实际情况可能有误差

代码及运行结果如下:



运行结果:







[ ...

你用的那个版本??
5楼2010-07-17 15:19:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

孤鸿飘逸

金虫 (正式写手)

楼主  你的程序有问题啊
Attempted to access Pyuan(1,3); index out of bounds because size(Pyuan)=[14,2].
2楼2010-07-17 11:13:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

那一片海

铜虫 (正式写手)

引用回帖:
Originally posted by 孤鸿飘逸 at 2010-07-17 11:13:48:
楼主  你的程序有问题啊
Attempted to access Pyuan(1,3); index out of bounds because size(Pyuan)=[14,2].

是的,所以,找高手改正啊
3楼2010-07-17 11:29:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 澳大利亚 Murdoch University 全奖博士招生(3个名额)地质化工冶金领域 +51 AI8RaGaPaSCR 2026-08-07 54/2700 2026-08-14 03:15 by 51OlFEHbqXvR
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[硕博家园] 一作与独作在应聘高校教师时区别大吗 +3 mbygzh 2026-08-08 4/200 2026-08-13 19:31 by 龙-樱
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] filecode +14 documentary 2026-08-10 16/800 2026-08-13 16:39 by 润生71
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 36/1800 2026-08-12 22:50 by sdfapple719
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +4 工厂打螺丝 2026-08-08 4/200 2026-08-12 09:18 by hansi2025
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
信息提示
请填处理意见