三次樣条C语言的实现

实验二 .三次样条C语言的实现

1.实验目的:

进一步熟悉三次样条插值法。

掌握编程语言字符处理程序的设计和调试技术。

2.实验要求:

已知:某些点的坐标以及初值条件。

输入:条件点数以及这些点的坐标,边界条件

输出:根据三次样条公式求出多项式公式。

3.程序流程:

(1)输入已知点的个数;

(2)分别输入已知点的X,Y坐标;

(3)输入边界条件;

(4)通过调用函数,求三次样条函数。

三次样条函数如下:

常见边界条件有三种:

第1种边界条件:

第2种边界条件:

周期边界条件

对于第1,2种条件可写成矩阵形式:

对于第3种条件可写成矩阵形式:

通过以上方程求出Mi

其中:

将求出的解带入:

即得所求函数

程序流程图:

程序如下:

#include

#include

using namespace std;

const int MAX = 250;

float x[MAX], y[MAX], h[MAX];

float c[MAX], a[MAX], fxym[MAX];

float f(int x1, int x2, int x3){

float a = (y[x3] - y[x2]) / (x[x3] - x[x2]);

float b = (y[x2] - y[x1]) / (x[x2] - x[x1]);

return (a - b)/(x[x3] - x[x1]);

} //求差分

void printout(int n){

cout<

for(int i = 0; i < n; i++){

cout<

float t = fxym[i]/(6*h[i]);

if(t > 0)cout<

else cout<

t = fxym[i+1]/(6*h[i]);

if(t > 0)cout<

else cout<

cout<

t = (y[i] - fxym[i]*h[i]*h[i]/6)/h[i];

if(t > 0)cout<

else cout<

t = (y[i+1] - fxym[i+1]*h[i]*h[i]/6)/h[i];

if(t > 0)cout<

else cout<

cout<

}

cout<

}

void cal_m(int n){ //用追赶法求解出弯矩向量M……

float B[MAX];

B[0] = c[0] / 2;

for(int i = 1; i < n; i++)

B[i] = c[i] / (2 - a[i]*B[i-1]);

fxym[0] = fxym[0] / 2;

for(i = 1; i <= n; i++)

fxym[i] = (fxym[i] - a[i]*fxym[i-1]) / (2 - a[i]*B[i-1]);

for(i = n-1; i >= 0; i--)

fxym[i] = fxym[i] - B[i]*fxym[i+1];

}

void printout(int n);

int mai

c语言怎么写出2次元方程,三次樣条C语言的实现.doc相关推荐

  1. c语言怎么写出2次元方程,C语言2分法

    满意答案 q572643897 2013.10.17 采纳率:53%    等级:12 已帮助:9768人 #include double f(double x) { double y; y=((x+ ...

  2. 用正确方法写出质量好的软件的75条体会

    blueski推荐 [2005-6-27] 出处:goto推荐 作者:不详 如何用正确的方法来写出质量好的软件的75条体会 向不知名的作者表示深深的感谢! 1. 你们的项目组使用源代码管理工具了么? ...

  3. 写一个判断方程根的C语言程序,写出求方程ax2+bx+c=0的根的算法,画出相应的程序框图,并要求输出它的实根....

    写出求方程ax2+bx+c=0的根的算法,画出相应的程序框图,并要求输出它的实根. 答案 思路分析:主要考查含参问题的讨论方法及条件嵌套结构的应用.输入三个实数a,b,c,先判断a是否为零,当a≠0时 ...

  4. c语言中写出int变量x为奇数,求C语言好的同学

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.(单选题) 执行以下程序段后, x, y和z的值分别是___B___.(5分) int x=10,y=20,z=30; if(x>y) z=x; ...

  5. 电影评论系统C语言,如何写出一篇真正的电影评论?——《如何写影评》

    看电影是一种休闲娱乐方式,绝大部分人进入电影院都是希望获得放松与享受.看完一部影片后,每一个人都会有着不同的观影体验和感受,很多人会把观后的体验和感受记录下来,让自己回溯在这一个半小时中,到底看了什么 ...

  6. 写出高可读 JS 的 7 条原则

    William Strunk 在 1920 年出版的<The Elements of Style> 一书中列出了写出好文章的 7 条原则,过了近一个世纪,这些原则并没有过时.对于工程师来说 ...

  7. 编码如作文:写出高可读 JS 的 7 条原则

    共 5914 字,读完需 8 分钟.编译自 Eric Elliott 的文章,好的程序员写出来的代码就如同优美的诗赋,给阅读的人带来非常愉悦的享受.我们怎么能达到那样的水平?要搞清楚这个问题,先看看好 ...

  8. c语言可以编制出功能复杂的程序,2018级《C语言程序设计》复习题及答案(5页)-原创力文档...

    2014 C 2014 C 级< 语言程序设计>复习题及答案 级< 语言程序设计>复习题及答案 一.单项选择题 一.单项选择题 1 C (B ) 1.以下不是 C 语言的特点的 ...

  9. 单片机红外线c语言,自己写的51单片机的红外线遥控接收程序(C语言)

    自己写的51单片机的红外线遥控接收程序(C语言) (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 //51单片机做的红外遥控实验(C ...

最新文章

  1. OpenCV-Python:实现人脸、人眼、嘴巴识别
  2. Python 之 Numpy (三)运算
  3. 百度今晨7:20分“宕机”
  4. ORACLE的数据类型
  5. IIS6、7添加反向代理的步骤
  6. TRMF 辅助论文:最小二乘法复现TRMF
  7. 4-uboot编译流程
  8. 手把手带你撸一把springsecurity框架源码中的认证流程
  9. 方正ceb阅读器手机版_海信阅读手机A5Pro 经典版评测:体验和阅读完美平衡
  10. 使用eclipse开发javaweb登录功能
  11. 【Java】JScrollPane的内容显示与刷新问题
  12. 2013年7月新日本語能力試験N3文字部分
  13. Java IO之File类详解
  14. mysql主从复制-主库已有数据
  15. 剑指offer(C++)-JZ76:删除链表中重复的结点(数据结构-链表)
  16. java map删除key_Java HashMap remove()方法
  17. 深圳保诚后端Java社招面试
  18. 嵌入式编程软件基础汇总1
  19. [服务计算] 简单 web 服务与客户端开发实战
  20. win7系统笔记本作为wifi热点提供无线连接

热门文章

  1. c语言 条件判断函数,用Excel函数实现多个区间的条件判断
  2. word中没有黑体解决办法
  3. 2021-06-11Leetcode2.两数相加
  4. Java 冬令时-夏令时转换方法
  5. 请更换备份电池 pos机_POS机商户请注意:这3类POS机新陷阱已导致大批信用卡被降额封卡!...
  6. PCB生产工艺 | 第七道主流程之阻焊
  7. java int 64 转换_Java中数据类型及其之间的转换
  8. php多图片生成flash,PHP_为php4加入动态flash文件的生成的支持,想象过在网站上动态生成flash - phpStudy...
  9. java viewer 控件_android初学者——自定义控件(继承View)
  10. 10G以太网接口(二):接口的基本结构