资源简介
c语言
三维线性插值
简单明了,与matlab对比一致
。。。。。。。。。。。。
代码片段和文件信息
#include
//X的数量
int n_x=2;
//Y的数量
int n_y=2;
//Z的数量
int n_z=2;
//自变量左侧下标
int Lindex;
//自变量右侧下标
int Rindex;
//x的值
double m_x[2]={12};
//y的值
double m_y[2]={12};
//Z的值
double m_z[2]={12};
//V的值
double m_data[8]={ 2 6 4 8 3 7 5 9 };
//插值函数,xyz待插点,输出V
double interp3(double xdouble ydouble z);
//获取V的值,根据3维下标
double getV(int xiint yiint zi);
//获取待插点变量所处的左右邻近位置下标
void getRangeIndex(double valdouble data[]int n);
//获取在范围内所处位置的权重
double getWeight(double val1double val2double val);
//将两个三维点,转成1个二维点,输入为两个三维点下标和降维的权重
double get4Q(int xi1int yi1int zi1int xi2int yi2int zi2double weight);
int main()
{
double x=1;
double y=2;
double z=2;
double v=interp3(xyz);
printf(“IN x:%f y:%f z:%fthe V is %f\r\n“xyzv);
return 0;
}
double interp3(double xdouble ydouble z)
{
int x_f_index[2];
int y_f_index[2];
int z_f_index[2];
double xdydzd;
double i1i2j1j2;
double w1w2;
getRangeIndex(xm_xn_x);
x_f_index[0]=Lindex;
x_f_index[1]=Rindex;
getRangeIndex(ym_yn_y);
y_f_index[0]=Lindex;
y_f_index[1]=Rindex;
getRangeIndex(zm_zn_z);
z_f_index[0]=Lindex;
z_f_index[1]=Rindex;
xd=getWeight(m_x[x_f_index[0]]m_x[x_f_index[1]]x
相关资源
- C语言课程设计案例精编(14个经典案
- GB2312编码和UTF-8互转c语言实现
- 朱战立——数据结构程序(C语言版源
- 信息熵的C语言实现
- C语言写的商品信息管理系统
- Linux环境下C语言Socket编程——客户端
- 单片机C语言 广告流水灯中断控制含
- C语言读取dat文件
- C语言socket编程实现网络数据传输
- 我自己写的扫雷源码Win32 API,C语言
- 0-1背包问题分支界限法求解-C语言实现
- 用c语言编写的扫雷程序
- 数字信号处理C++程序来源《数字处理
- 最高响应比算法调度作业.cpp
- Dijkstra最短路径算法C语言实现
- C语言-打字母小游戏
- c语言汉诺塔代码
- C语言编写的猜数游戏
- c语言商品信息管理系统c语言课程作业
- C语言源代码 《烟花》
- 超市收银管理系统
- c语言程序设计_销售管理系统
- 运输问题c语言代码
- 数据结构c语言版快速排序实验报告
- 清华 严蔚敏《数据结构》的全部代码
- DES加密算法C语言版源代码
- 单片机C语言实现流水灯,跑马灯仿真
- c语言常见英语词汇
- 数据结构活期储蓄账目管理c语言
- 操作系统 作业调度算法FCFS SJF HRN C语
评论
共有 条评论