| 查看: 911 | 回复: 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; } } } |
» 猜你喜欢
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有6人回复
孩子确诊有中度注意力缺陷
已经有14人回复
三甲基碘化亚砜的氧化反应
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab多维插值原理是什么?
已经有5人回复
» 抢金币啦!回帖就可以得到:
双面压敏硅胶胶带
+2/92
招收26年资源与环境领域、生物质生物转化、生物技术等方向博士研究生
+1/80
国家青年人才叶立群教授课题组招收2026级博士研究生
+1/34
2026博士申请-药物化学方向(小分子化合物合成)
+1/32
青岛大学 丁欣 课题组 招收2026秋化学博士1名
+1/32
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
+1/30
澳门科技大学2026年数学博士招生—计算物理与数学课题组:计算流体与相场方法
+1/24
华北电力大学(北京)(第一性原理计算)博士招生——学博,专博各1人
+2/20
2025君科院博士研究生招生欢迎报考
+2/20
南京大学能源与资源学院蔡亮课题组诚招博士后、助理研究员(AEM、PEM电解水制氢方向)
+1/14
南京大学能源与资源学院蔡亮课题组诚招2026年申请-考核制博士生2-3名
+1/10
大连工业杰青、长江团队-生物质材料方向招收2026级博士生
+1/6
长江大学武汉校区诚招工程热物理、油气、电气等新能源博士-2025
+1/5
欢迎报考中山大学课题组,提供2025-2026级硕士研究生名额
+1/5
山东大学集成电路学院太赫兹团队博士招生
+1/4
有没有一款可以听文献的APP
+1/4
同济大学高绍荣院士王冕课题组诚聘博士后
+1/3
CSC 因斯布鲁克大学计算机系 联培/攻博
+1/3
上海交通大学 Jaehyung Ju 课题组招收2026年申请考核博士生1 名
+1/1
中国科学技术大学 精准智能化学重点实验室 武建昌课题组招聘博士,博士后
+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














回复此楼