使用Euclid和Horner算法的多项式求值

我正在编写这段代码,用于评估图像1中的多项式

我的代码是

function [px] = HornerEuclid(index,b,x) %write a function HornerEuclid which evaluates a %polynomial using the improved sparse Horner scheme. implementing %previously defined functions PolyEuclid, HornerSparse and FastPower g=PolyEuclid(index); y=FastPower(x,g); k=length(index); if ~isempty(index) while g~=0 for j=1:k index(j)=index(j)/g; end break end px=HornerSparse(index,b,y); elseif isinteger(x) px=[0]; else px=(zeros(size(x))); end HornerSparse的代码是

function [px] =HornerSparse(index,b,x) %evaluates a polynomial p(x) using the Horner scheme given %in Eq. (3). %The function should return the value of the polynomial for a given x %and lists i, b. if isinteger(x) || ismatrix(x) if ~isempty(b) && ~isempty(index) k=length(b); if k>1 px=b(k)*eye(size(x)); for j=k:-1:2 px= b(j-1)*eye(size(x))+ px*FastPower(x,index(j)-index(j-1)); end else px=b(k)*FastPower(x,index(k)); end elseif isinteger (x) px=[0]; else px=(zeros(size(x))); end else error('input values must be integers or square matrices') end 而PolyEuclid的代码是

function [gcd] = PolyEuclid(r) %calculates the greatest common divisor of a list r =[r1, r2, . . . , rm] %of n integer numbers using Algorithm 2. gcd=r(1); for j=2:length(r) gcd=Euclid(gcd,r(j)); end 它使用另一个函数Euclid查找2个数字的gcd,而FastPower(x,n)查找x ^ n。

测试图像2中显示的HornerEuclid代码时,出现以下错误消息,但我不知道如何解决。 HornerSparse和PolyEuclid这两个代码都是正确的。

更多&回答...

horner算法matlab实现,使用Euclid和Horner算法的多项式求值相关推荐

  1. 数值分析 | 多项式求值(Horner法则)

    Horner法则 又名秦九韶算法或嵌套乘法,是一种高效的多项式求值算法. 对于 n n n次多项式 f ( x ) = a 0 + a 1 x + . . . + a n − 1 x n − 1 + ...

  2. MATLAB秦九韶多项式求值算法的原理和迭代法求解的近似数值方法。

    1..熟悉常用的Matlab操作: 2.了解秦九韶多项式求值算法的原理和迭代法求解的近似数值方法. 秦九韶多项式求值算法: 迭代法求解的近似数值: x=2; for k=1:10x=(x+2/x)/2 ...

  3. matlab多项式的求值,多项式求值的MATLAB实现

    公茂果老师的课件中,给出了四种多项式求值的算法,下面给出代码示例: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %E-mail: [email protected] ...

  4. Matlab多项式求值(2)(roots和poly的使用)

    Matlab多项式求值(2)(roots和poly的使用) #Matlab学习笔记 1.多项式求根 n次多项式具有n个根(包括实根和共轭复根) roots函数可以用于求解多项式的全部根,其调用格式为: ...

  5. 多项式求值的秦九韶算法

    多项式求值算法,如果仅用普通的多项式的求法,对于n次多项式,需要n/(n+1)次的乘法,n次加法,计算量大,改用秦九韶算法,能有效的降低时间复杂度,并且该算法还能顺便给出多项式在该点的导数值,一举多得 ...

  6. bartlett 算法 matlab,GWO(灰狼优化)算法MATLAB源码逐行中文注解(转载)

    以优化SVM算法的参数c和g为例,对GWO算法MATLAB源码进行了逐行中文注解. tic % 计时器 %% 清空环境变量 close all clear clc format compact %% ...

  7. pid算法matlab仿真程序和c程序,pid算法matlab仿真程序和c程序.doc

    pid算法matlab仿真程序和c程序.doc 1 增量式 PID 控制算 法 Matlab 仿真程序 设一被控对象 G(s) =50/(0.125s^2+7s),用增量式 PID 控制 算法编写仿真 ...

  8. matlab二元多项式求值,matlab多项式代入求值

    Matlab 多项式运算与方程求根 ? Matlab多项式运算无论是在线性代数中,还是信号处理.自动控制等理论 中,多项式运算都有着十分重要的地位,因此,MATLAB 为多项式的操作提供了相应的函数库 ...

  9. 【Matlab 控制】解方程solve() 或代入函数求值 eval() subs()

    解方程用 solve() syms x eqn=sin(x)==1; solve(eqn,x) 得出方程结果 ans =pi/2 From: MATLAB的solve函数 代入求值用 eval() 配 ...

  10. ncut算法matlab实现,ncut_multiscale_1_6 经典的图像分割算法 的Matlab代码。 238万源代码下载- www.pudn.com...

    文件名称: ncut_multiscale_1_6下载 收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 587 KB 上传时间: 2015-04-17 下载次数: ...

最新文章

  1. java 手机号隐藏_Java隐藏银行卡号或者手机号中间几位,用*号代替工具类实现HideDataUtil...
  2. python参数类型检查_Python中的类型检查
  3. windows10上为jupyter notebook切换指定conda环境
  4. 文件系统磁盘管理(一)--文件系统
  5. 使用Nginx+Lua(OpenResty)开发高性能Web应用
  6. 【2018.3.24】模拟赛之六-ssl2550 重要人物【图论,最短路,SPFA】
  7. RHEL 8 - 配置基于安装 ISO 文件的 YUM Repo
  8. [转载] 在python中pop的用法_python中pop()函数如何使用
  9. 安装php项目后图片路径不对,解决织梦CMS栏目绑定二级域名后图片不显示,路径错误办法...
  10. 关于Itext 报错-java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable
  11. SC软件结构图_例题
  12. 液相色谱质谱联用市场现状及未来发展趋势
  13. tk芯片智能机刷机方法_MTK芯片手机刷机详细步骤及注意事项
  14. 医学统计学第六版笔记
  15. 三分钟了解坚果J10的不足,多方位分析,让你学会挑选投影仪
  16. vba返回excel中所有菜单命令栏CommandBar的名称
  17. 微信小程序实现柱形图与折现图
  18. 【华为机试真题 Python实现】藏宝图
  19. ERROR 2000 (HY000): Unknown MySQL error
  20. TreeMap、二叉树

热门文章

  1. win系统服务器白名单,win10系统如何添加白名单 windows10下添加白名单的方法
  2. Java基础:常用类(String类)
  3. android 怎么选择audio hal
  4. 「四年总结」一名程序猿的打怪升级之路
  5. 微信缓存dat怎么转图片_PC微信dat怎么转图片?
  6. Java ----excel操作(poi)
  7. Mina中的多项式承诺方案
  8. 根据计算机配置设置bios,电脑如何进入bios设置
  9. iOS app加密探究爱加密iOS app加密原理
  10. 打开CMD的方式以及常用的指令