用直接计算法和秦九韶算法求解一元n次多项式

3 篇文章 0 订阅
订阅专栏

用直接计算法和秦九韶算法求解一元n次多项式

一、实验目的

  1. 掌握秦九韶算法求解多项式的基本原理;
  2. 分别编程实现用直接计算法和秦九韶算法求解一元n次多项式 f(x)=3x6+4x4-2x3-7x2+x-8在x=2.5时的值;
  3. 比较两种算法求解多项式的时间。

二、实验设备

  1. 编程语言:C;
  2. 实验环境:已安装相关编程环境的计算机1台。

三、算法实现及结果分析

#include<stdio.h>
#include<math.h>
#include<time.h>
#define max 10
#define maxt 1e6
clock_t start, stop;
double duration;
//直接法
double f(double x,double a[],int n) {
	int i;
	double y=0;
	for (i = 0;i < n;i++) {
		y += a[i] * pow(x, n - i-1);
	}
	return y;
}
//秦九韶算法
double q(double x, double a[],int n) {
	int i;
	double y=0;
	for (i = 0;i <n;i++) {
		y = y * x + a[i];
	}
	return y;
}
//比较两种算法求解多项式的时间
void run(double(*f)(double, double*, int), double a[], int case_n,int n,int x) {
	int i;
	start = clock();
	for (i = 0;i < maxt;i++) {
		(*f)(x, a, n);
	}
	stop = clock();
	duration = ((double)(stop - start)) / CLK_TCK;
	printf("第%d种算法打点次数 =%f\n", case_n, (double)(stop - start));
	printf("时间为 =%6.2e\n", duration);
}
int main() {
	double x;
	int n;
	double a[max];
	printf("输入x的值\n");
	scanf_s("%lf", &x);
	printf("输入多项式的最高项的次数\n");
	scanf_s("%d", &n);
	for (int i = 0;i < n+1;i++) {
		printf("第%d项多项式系数为:",i + 1);
		scanf_s("%lf", &a[i]);
	}
	double t1=f(x, a,n+1);
	double t2=q(x, a,n+1);
	printf("直接计算:%lf\n",t1);
	printf("秦九韶算法:%lf\n", t2);
	run(f, a, 1,n+1,x);
	run(q, a, 2,n+1,x);
	return 0;
}

maxt=1e5
请添加图片描述
maxt=1e6
请添加图片描述

maxt=1e7
请添加图片描述

由运行结果我们可知,直接法与秦九韶算法的时间差距在10倍左右。

Python青少年学编程之秦九韶算法(初三、高中信息技术)
★·°立芯;︶︵︶
04-13 5620
秦九韶算法是一种以简单计算加多迭代为内核构建的多项式算法,对于已经在数学课中接触二函数的初三学生来说并不难懂。总体来说,适合做初、高中学生信息技术课应用案例。
c语言秦九韶算法下载
04-24
c语言编写的秦九韶算法。调试过了,可以正常运行。
秦九韶算法课设C++QT
03-31
本论文针对数学中的多项式的问题进行了相应的研究,通过在计算机上设计秦九韶算法,并设计相应的简单程序,通过C++软件来运行,可以解决数学上多项式的问题。运用秦九韶算法可以方便快速的解决多项式问题,进而可以方便解决代数方程求根问题。因此本论文研究的秦九韶算法是极具有研究意义的。秦九韶算法是我国宋代的一位数学家秦九韶提出来的,该算法领先世界五六个世纪。是我国古代劳动人民智慧的结晶,是我国伟大国库中的瑰宝。直至今天该算法仍是世界上多项式的最先进的方
lrmp.rar_秦九韶算法
09-20
数据结构的一个程序,叫秦九韶算法,计算也应用到,
qinjiushao.rar_秦九韶算法
09-19
这是一个用java实现的秦九韶算法,网上有关java的太少了,希望对需要的人有所帮助
经典C语言程序设计100例
01-06
经典C语言程序设计100例,非常经典,希望您能找到所需要的实例~
PTA简单编程题——多项式秦九韶算法
最新发布
2301_81410726的博客
02-17 454
本题要求实现一个函数,计算阶数为n,系数为a[0]...a[n]的多项式f(x)=(a[i]×)在x点的。其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的
秦九韶算法计算多项式
weixin_45563088的博客
06-16 7871
1:直接模拟累加。 题目条件:n为最高的数,a数组为系数,x为给定的。 double f(int n,double a[],double x) { int i; double p=a[0]; for(i=1;i<=n;i++) p+=(a[i]*pow(x,i)); return p; } 方二:根据秦九韶算法: 可转化为: 故我们可以从内往外递推的计算多项式。 double f(int n,double a[],double x)
秦九韶算法
A_Eagle的专栏
11-05 2173
一般地,一元n多项式的求需要经过[n(n+1)]/2和n,而秦九韶算法只需要n和n。在人工计算时,一大大简化了运过程。特别是在现代,在使用计算机解决数学问题时,对于计算机程序算法而言秦九韶算法可以以更快的速度得到结果,减少了CPU运时间。   把一个n多项式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改写成如
秦九韶算法C语言
qq_46000878的博客
03-21 4633
秦九韶算法C语言 最近在学数分析,需要进行算法编码,小小的记录一下自己的实验吧! 关于秦九韶算法求解多项式,开始之前看了很多同学的分享,基本采用 的都是数组存储系数再进行循环,但是C语言数组静态存储感觉还是不太 方便,必须提前约定数组规模,无随着输入数的改变而变动,所以这里 就换成了动态内存分配的方qwq,采用malloc函数进行空间调配。 代码实现 #include<stdio.h> #include<stdlib.h> int main() { int len
计算实验一、秦九韶算法
hgf1308576249的博客
10-01 4998
一、实验名称:秦九韶算法 二、目的 掌握秦九韶算法求解多项式的基本原理; 分别编程实现用直接计算秦九韶算法求解一元n多项式在x=2.5时的; 比较两种算法求解多项式的时间。 三、实验设备 编程语言python; 实验环境:已安装相关编程环境的计算机1台。 四、算法原理 算法是将函数的最外层的同质未知数的数不断提取出来的过程,通过提取相同阶数的未知数,让大部分的乘缩减为小部分的加 一般地,一元n多项式的求需要经过(n+1)*n/2和n,而秦九韶...
秦九韶算法编写通用程序能够求任意多项式在任意一点的
03-13
编写程序多项式 在某一点x的。 相关知识:秦九韶算法(递推计算公式) 递推关系的由来:因为 可以改写为
多项式秦九韶算法
AlbertDarren的博客
01-12 6262
1.多项式秦九韶算法 设给定nnn多项式p(x)=a0xn+a1xn−1+⋯+an−1x+an,a0≠0,p(x)=a_0x^n+a_1x^{n-1}+\cdots+a_{n-1}x+a_n,\quad a_0\neq 0,p(x)=a0​xn+a1​xn−1+⋯+an−1​x+an​,a0​​=0, 求x∗处的p(x∗).若直接计算每一项aixn−i再相加,共需要x^*处的p(x^*).若直接计算每一项a_ix^{n-i}再相加,共需要x∗处的p(x∗).若直接计算每一项ai​xn−i再相
算法的时间复杂度比较,计算多项式直接秦九韶
Lucky小黄人的博客
09-26 1712
1.直接: 1 double Polynomial_1(int n, double a[], double x) 2 { 3 int i; 4 double sum = 0; 5 for (i = 0; i < n; i++) 6 sum += a[i] * pow(x, i); 7 return sum; 8 } 每循环迭代...
【数据结构】--一元n多项式模板
QXK_Jack的博客
10-07 531
一元n多项式 我把first开到公有了。 实验二:一元多项式的基本运 实验目的:掌握用线性表实现一元多项式的基本运。 实验内容:使用链式存储实现一元多项式的加、减、乘和求导。即: C(x)= A(x)+B(x);C(x)= A(x)-B(x) C(x)= A(x)*B(x) C(x)= A’(x) 菜单: 1)C :分别创建两个多项式A(x)和B(x),其中 输入时按照 指数的升序顺序输入,遇到系数为0则停止。例如:输入 : 1 2 3 4 5 6 7 8 2 3 4..
C语言】辗转相除+更相减损术+秦九韶算法
qq_63806300的博客
08-06 1110
辗转相除 更相减损术 秦九韶算法
求解n函数多项式之拉格朗日插
Coldfresh的博客
08-21 7087
设F(x)=a0+a1x+a2x2+...+anxnF(x)=a0+a1x+a2x2+...+anxnF(x)=a_0+a_1x+a_2x^2+...+a_nx^n 在一些题目中例如找规律,比如是我上在区域赛的时候如果可以真名或者猜出一些式子是多项式,还有数,那么我用的待定系数,就可以解方程来做了。 可以直接手动解,但是也可以借助程序了。 这里就用到了一个东西叫拉格朗日插。 假如...
c语言求解使用两种直接秦九韶算法计算多项式。在x=1.75处。
03-25
我可以回答这个问题。使用直接计算多项式,需要将每一项都乘以对应的幂的 x ,再将结果加和。对于这个问题,计算过程如下: f(x) = 2x^3 + 5x^2 + 1.5x - 6.5 f(1.75) = 2(1.75)^3 + 5(1.75)^2 + 1.5(1.75) - 6.5 f(1.75) ≈ 21.0156 而使用秦九韶算法计算多项式,则可以使用下面的代码实现: double polyval(double *coef, int n, double x) { double result = coef[0]; for (int i = 1; i < n; ++i) { result = coef[i] + x * result; } return result; } 其中 coef 是多项式系数的数组,n 是多项式数。对于这个问题,这个函数调用的代码如下: double coef[] = {-6.5, 1.5, 5, 2}; int n = 4; double x = 1.75; double result = polyval(coef, n, x); 最终的结果 result 约为 21.0156。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 朴素贝叶斯处理鸢尾花数据集分类 9326
  • 利用DBNet解决MTWI 2018 挑战赛二:网络图像的文本检测 3668
  • 实验二 实现中点分割直线段裁剪算法 3076
  • 机器学习 实验五 垃圾分类 2775
  • 贪心法解决最短路径问题 2489

分类专栏

  • 机器学习 5篇
  • 算法 4篇
  • 计算方法 3篇
  • 笔记 1篇
  • 模式识别 5篇
  • Linux 2篇
  • 计算机图形学 2篇
  • windows10 2篇

最新评论

  • tkinter GUI版通信录管理系统

    cangulingyua: 群在哪

  • tkinter GUI版通信录管理系统

    m0_69046021: 用你这个方法,怎么添加修改信息和查询信息

  • 利用DBNet解决MTWI 2018 挑战赛二:网络图像的文本检测

    pumkinl_: 请问你转好了吗

  • 线性方程组的直接解法

    台阶后的台阶: 谢谢

  • 非线性方程求根

    台阶后的台阶: 代码运行起来为什么老是在二分法那里进行死循环

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Cifar-10图像分类竞赛
  • 机器学习 实验五 垃圾分类
  • 机器学习 实验三 手写汉字识别
2022年5篇
2021年22篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源起睿起名梦幻个性名字姓高男孩起名字啊凌添寿国足对阵马尔代夫风水专家起名海姓怎么起名字取名起名大全字典属牛的年份绝密者当青春期遇上更年期适合起名字成语永远的伊苏7西安公司起名www.cebbank.com星译社小组挖掘地球fuckingmachines鸿星尔克为什么便宜地瓜视频装饰画店铺起名辽宁卫视同步直播姓贾女孩起名字吗关于螃蟹的名字怎么起古代情诗网上男孩起名无能力者的奈奈慕南枝全文免费阅读fn键驱动狗子起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化