| 查看: 1037 | 回复: 4 | |||
[交流]
探讨多维插值程序的编写——自己编写一个,希望能讨论一下更好的
|
|||
|
根据n,pi值来求G//感觉计算有些繁琐,希望讨论更简洁有效的方式 n[14]={};//14个初值, 由小到大 G[14][17]={};//14*17数组,每行由小到大 pi[14][17]{};//14*17数组,每行由大到小 //n的14个值对应G,pi的14行 if(nc>n[13])//输入值nc>n[13],则产生新的对应nc的HnewG[17]和Hnewpi[17];然后对应输入pai求输出Gc { for(j=0;j<=16;j++) { HnewG[j]=G[12][j]*(n[13]-nc)/(n[13]-n[12])+G[13][j]*(nc-n[12])/(n[13]-n[12]); Hnewpi[j]=pi[12][j]*(n[13]-nc)/(n[13]-n[12])+pi[13][j]*(nc-n[12])/(n[13]-n[12]); } if(pai return(HnewG[16]); } if(pai>Hnewpi[0]) { return(HnewG[0]); } for(j=0;j<=16;j++) { if(pai==Hnewpi[j]) { Gc=HnewG[j]; return(Gc); } else if((pai { Gc=HnewG[j]*(Hnewpi[j+1]-pai)/(Hnewpi[j+1]-Hnewpi[j])+HnewG[j+1]*(pai-Hnewpi[j])/(Hnewpi[j+1]-Hnewpi[j]); return(Gc); } else continue; } } else if(nc for(j=0;j<=16;j++) { LnewG[j]=G[1][j]*(n[0]-nc)/(n[0]-n[1])+G[0][j]*(nc-n[1])/(n[0]-n[1]); Lnewpi[j]=pi[0][j]*(n[1]-nc)/(n[1]-n[0])+pi[1][j]*(nc-n[0])/(n[1]-n[0]); } if(pai return(LnewG[20]); } if(pai>Lnewpi[0]) { return(LnewG[0]); } for(j=0;j<=16;j++) { if(pai==Lnewpi[j]) { Gc=LnewG[j]; return(Gc); } else if((pai { Gc=LnewG[j]*(Lnewpi[j+1]-pai)/(Lnewpi[j+1]-Lnewpi[j])+LnewG[j+1]*(pai-Lnewpi[j])/(Lnewpi[j+1]-Lnewpi[j]); return(Gc); } else continue; } } else if(nc==n[0])//判定最小值以便于下面的计算 { if(pai return(G[0][16]); } if(pai>pi[0][0]) { return(G[0][0]); } for(j=0;j<=16;j++) { if(pai==pi[0][j]) { Gc=G[0][j]; return(Gc); } else if((pai { Gc=G[0][j]*(pi[0][j+1]-pai)/(pi[0][j+1]-pi[0][j])+G[0][j+1]*(pai-pi[0][j])/(pi[0][j+1]-pi[0][j]); return(Gc); } else continue; } } else//判定输入nc的范围,求解对应nc的pi[17],再根据输入pai求输出Gc;其中求解过程在是从n[14]的每相邻两值判定nc并按上面步骤求解 { for(i=1;i<=13;i++) { if(nc==n) { if(pai { return(G[16]); } if(pai>pi[0]) { return(G[0]); } for(j=0;j<=16;j++) { if(pai==pi[j]) { Gc=G[j]; return(Gc); } else if((pai { Gc=G[j]*(pi[j+1]-pai)/(pi[j+1]-pi[j])+G[j+1]*(pai-pi[j])/(pi[j+1]-pi[j]); return(Gc); } else continue; } } else if((nc { for(j=0;j<=16;j++) { newG[j]=G[i-1][j]*(n-nc)/(n-n[i-1])+G[j]*(nc-n[i-1])/(n-n[i-1]); newpi[j]=pi[i-1][j]*(n-nc)/(n-n[i-1])+pi[j]*(nc-n[i-1])/(n-n[i-1]); } if(pai return(newG[16]); } if(pai>newpi[0]) { return(newG[0]); } for(j=0;j<=16;j++) { if(pai==newpi[j]) { Gc=newG[j]; return(Gc); } else if((pai { Gc=newG[j]*(newpi[j+1]-pai)/(newpi[j+1]-newpi[j])+newG[j+1]*(pai-newpi[j])/(newpi[j+1]-newpi[j]); return(Gc); } else continue; } } else continue; } } } |
» 猜你喜欢
小城的小雨
已经有3人回复
看《给阿ma的情书》有感
已经有5人回复
国自然申请五篇代表作大比拼,感觉这个是最重要的
已经有4人回复
E0414, 我的本子有没有希望?
已经有13人回复
雷雨
已经有3人回复
青A35岁以下通知答辩了吗
已经有3人回复
希望面上有个好结果
已经有7人回复
三区计算机方向期刊推荐
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab多维插值原理是什么?
已经有5人回复
» 抢金币啦!回帖就可以得到:
郑州大学急招1名2026级博士生
+1/471
MOCVD 外延GaN和AlN以及LED服务
+1/85
征一人,此生平安欢喜度日常
+1/79
Cu2O纳米线
+5/70
中山大学智能工程学院【智能视觉方向】金枝教授团队招聘博士后
+2/28
东南大学有机多孔功能材料团队(国家杰青团队) 2027级博士研究生招生
+1/28
西交利物浦大学招收27年1月入学奖学金博士生1名【人机协作交互与数字孪生】
+1/27
重庆大学金属塑性成形方向招收2027年博士研究生(学博)
+2/16
澳大利亚西澳大学招收交通工程/智能交通方向博士生
+1/15
北理工集成电路杰青团队 | 诚招科助理
+1/13
求助最新版ISO 5817
+1/10
四川大学周加境课题组招聘博士后/博士/研究助理(生物质与藻类资源利用/自组装材料)
+1/8
墨尔本大学(26年QS19)招全奖博士/CSC博士(补齐全奖)/访问学者等-材料/生物医学等
+1/6
密苏里大学生物材料合成生物学博士后招聘
+1/4
美国普渡大学(Purdue University)生物化学系招聘博士后
+1/4
哈工大马樱教授招收2027级计算机类、集成电路类博士生
+1/4
忘记密码好多年,终于想起来了,有知道如何查看当时注册邮箱的吗
+1/2
香港中文大学陈也课题组、香港中文大学(深圳)陈仲欣课题组招收联合培养博士后
+1/1
中科院深圳先进技术研究院成会明院士/唐永炳杰青团队博士后招聘
+1/1
哈尔滨工业大学(深圳)赵怡潞课题组诚招博士后、2027学年博士生
+1/1
2楼2012-12-07 13:08:58
3楼2012-12-08 09:33:53
4楼2012-12-21 08:27:59
简单回复
11jxli15楼
2012-12-23 09:45












回复此楼