资源简介
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语言编程常见问题解答.pdf
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
川公网安备 51152502000135号
评论
共有 条评论