社区
数据结构与算法
帖子详情
关于多项式的计算,Help!
tangzhangjie
2001-12-02 07:35:36
问题:
给定一个k,有多项式函数如下:
G(x) = (x-3)(x-(3的二次方))(x-(3的三次方))...(x-(3的k次方)) ;
= A[1]+A[2]x+A[3](x的二次方)...A[k-1](x的k-1次方)+A[k](x的k次方)
求其多项式的系数A[i],i=1,2,...,k
...全文
97
4
打赏
收藏
关于多项式的计算,Help!
问题: 给定一个k,有多项式函数如下: G(x) = (x-3)(x-(3的二次方))(x-(3的三次方))...(x-(3的k次方)) ; = A[1]+A[2]x+A[3](x的二次方)...A[k-1](x的k-1次方)+A[k](x的k次方) 求其多项式的系数A[i],i=1,2,...,k
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
starfish
2001-12-03
打赏
举报
回复
组合数学的书上有
starfish
2001-12-03
打赏
举报
回复
用母函数
yushaofeng
2001-12-02
打赏
举报
回复
我的QQ是:47884343
欢迎大家来交流一下!
intfree
2001-12-02
打赏
举报
回复
let
(x-3)(x-3^2)...(x-3^k)=A[k,0]+A[k,1]x^1+...A[k,k]x^k
we have
A[1,0]=-3,A[1,1]=1
A[k,0]=-3^k*A[k-1,0]
A[k,i]=A[k-1,i-1]-3^k*A[k-1,i]
(k>0,i>0)
如果要通项公式:
A[k,0]=-3^k*A[k-1,0]=(-3^k)(-3^(k-1))A[k-2,0]=...
(-3^k)(-3^(k-1))(-3^(k-2))...(-3^1)=(-1)^k*3^[(k+1)*k/2]
A[k,1]=A[k-1,0]-3^k*A[k-1,i]
=(-1)^(k-1)*3^[k*k(k-1)/2]-3^k*A[k-1,i]
然后用某种方法就可以求出A[k,1]的通项公式
理论上又可以类推出A[k,i]的通项公式
如果只是用计算机求值,则前面的递推式就够了
我的数学不好,只能做到这一步了:)
多项式
拟合 dll 最小二乘法 表达式
计算
做了一个dll,具有
多项式
拟合和表达式
计算
的功能,导出接口如下: /////////////////////////////////// /* 获取帮助信息 strOut:保存帮助文本信息 len:表示strOut的缓存长度 返回值:strOut==NULL或len==0时,strOut不写入内容,返回所需缓冲区长度(包括'\0'结尾符); 否则直接返回len */ EXPORT size_t
Help
(char* strOut, size_t len); /*
计算
不含未知数表达式的值 strIn:预
计算
的表达式 ret:返回
计算
结果 IsRad:表达式中含有sin之类的三角函数时,表明是按弧度制还是角度制,TRUE表示弧度制 返回值:表示错误码,0代表
计算
成功,错误码代表的意思可通过调用ErrorStr函数取得 */ EXPORT int Calculate(const char* strIn, double* ret, BOOL IsRad); /*
计算
含有一个未知数表达式(必须以字母x表示)当x等于value时的值 strIn:预
计算
的表达式 value:x等于value时 ret:返回
计算
结果 IsRad:表达式中含有sin之类的三角函数时,表明是按弧度制还是角度制,TRUE表示弧度制 返回值:表示错误码,0代表
计算
成功,错误码代表的意思可通过调用ErrorStr函数取得 */ EXPORT int Function(const char* strIn, double value, double* ret, BOOL IsRad); /*
计算
含有一个未知数表达式(必须以字母x表示)当x在区间[low,high)内平均等分为cnt段时各点的值 strIn:预
计算
的表达式 low:左区间 high:右区间,内部会检查high
计算结果的横坐标值 yOut:返回
计算
结果的纵坐标值 IsRad:表达式中含有sin之类的三角函数时,表明是按弧度制还是角度制,TRUE表示弧度制 返回值:表示错误码,0代表
计算
成功,错误码代表的意思可通过调用ErrorStr函数取得 */ EXPORT int Function_Interval(const char* strIn, double low, double high, size_t cnt, double* xOut, double* yOut, BOOL IsRad); /* 根据错误码返回其文本描述信息 errNo:错误码,取值范围为[0-9],超过范围时,strOut写入"错误码超过取值范围" strOut:保存错误码的文本信息 len:表示strOut的缓存长度 返回值:strOut==NULL或len==0时,strOut不写入内容,返回所需缓冲区长度(包括'\0'结尾符); 否则直接返回len */ EXPORT size_t ErrorStr(size_t errNo, char* strOut, size_t len); /*
多项式
拟合 xIn:输入采样数据横坐标的集合 yIn:输入采样数据纵坐标的集合 cnt:输入采样数据的对数,即xIn或yIn数组内数据个数,函数假设xIn、yIn数组内数据个数一样多 sztCiShu:sztCiShu代表最高次为sztCiShu-1,即待求未知系数个数为sztCiShu个,sztCiShu须不大于cnt aOut:保存未知系数的拟合结果,数组长度为sztCiShu 返回值:表示拟合成功与否 */ EXPORT BOOL Fitting_Double(double* xIn, double* yIn, size_t cnt, size_t sztCiShu, double* aOut); /* 也是
多项式
拟合,只是拟合结果直接表示成了表达式的字符串形式,写入到strOut中 xIn:输入采样数据横坐标的集合 yIn:输入采样数据纵坐标的集合 cnt:输入采样数据的对数,即xIn或yIn数组内数据个数,函数假设xIn、yIn数组内数据个数一样多 sztCiShu:sztCiShu代表最高次为sztCiShu-1,即待求未知系数个数为sztCiShu个,sztCiShu须不大于cnt strOut:保存未知系数的拟合结果 len:strOut缓冲区的长度 返回值:0表示不能拟合,非零表示能拟合,当: strOut==NULL或len==0时,strOut不写入内容,返回所需缓冲区长度(包括'\0'结尾符,其实内部已
计算
过一遍); 否则直接返回len(若len不够长,拟合结果
计算
机仿真实验解答
计算
机仿真技术,里面有很多有关matlab的仿真解答,很不错哦
matlab2014a参考页与
help
中文翻译 之roots
这个是我自己翻译的,水平有点。。。嘿嘿,我是一个学生,希望大家不吝赐教,我一定努力改正。 希望大家加入CDSN,我也为这个平台做点贡献。
matlab仿真Simulink与控制系统源码.zip
matlab仿真Simulink与控制系统源码.zip Matlab
计算
基础 表2.1 Matlab 常用文件管理命令 命令 功能 命令 功能 what 显示当前目录下所有与Matlab有关的文件及路径 type filename 在命令窗口中显示文件 filename dir 显示当前目录下所有文件 delete filename 删除文件 filename which 显示某个文件的路径 cd .. 返回上一级目录 cd path 进入 path 目录 cd 显示当前目录 表2.2 Matlab 常用帮助命令 命令 功能 命令 功能
help
matfun 矩阵函数-数值线性代数
help
datafun 数据分析和傅立叶变换函数
help
general 通用命令
help
ops 操作符和特殊字符
help
graphics 通用图形函数
help
polyfun
多项式
和内插函数
help
elfun 基本的数学函数
help
lang 语言结构和调试
help
elmat 基本矩阵和矩阵操作
help
strfun 字符串函数
help
control 控制系统工具箱函数
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章