| 查看: 1086 | 回复: 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; } } } |
» 猜你喜欢
浙江师范大学是怎么坑我的
已经有15人回复
浙江师范大学是怎么坑我的
已经有4人回复
求教各位大神:2026教育部人文社科青年基金项目何时公示呀?
已经有6人回复
面上有专家说实验设备不是我们单位的
已经有8人回复
科研求助
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab多维插值原理是什么?
已经有5人回复
» 抢金币啦!回帖就可以得到:
项目结题验收,希望一切顺利
+1/980
坐标北京,诚征女友,奔结婚,非诚勿扰!
+5/350
材料理论模拟或理论计算的作用有多大
+1/198
急招科研助理/博士后
+2/134
各位大佬帮忙分析一下面上意见,是否上会?几个A、B、C?
+1/80
中科院化学所韩布兴院士团队诚聘光催化、光酶催化、光电催化领域博士后1-2名
+1/78
【推免】】中科院国家级人才团队招收27级推免硕士生
+1/75
坐标天津,诚征女友,希望遇到有缘之人。
+1/27
中国科大-合肥国家实验室冷原子量子网络团队招聘启事
+2/26
深圳大学2027级光电信息工程/物理学研究生推免
+1/17
深圳大学应用技术学院招聘凝聚态物理博士后
+1/17
北理工集成电路杰青团队 | 诚招科助理
+1/13
北京理工大学-集成电路与电子学院杰青团队-招博士后
+1/12
北理工集成电路杰青团队 | 诚招科助理
+1/12
招收2027年-申请考核博士生-仿生材料/生物能源方向
+1/11
【牙科生物材料特刊征稿】对牙科方向友好(Scopus、DOAJ收录的正规国际期刊)
+1/9
欢迎推免生/准推免生报名(约80名每年)--长期有效--物理/电子等所有理工专业
+1/9
【特刊征稿】BM临床诊断与治疗生物功能材料专题(Scopus、DOAJ 收录)
+1/8
【生物材料与生物打印专题征稿】Scopus期刊,免APC
+1/7
广东省智能院与澳门大学、澳门科技大学、澳理工联合培养博士招生
+1/3
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










回复此楼