matlab根号下是多项式,多项式求根
本帖最后由 pengcsu 于 2016-6-12 12:45 编辑
小弟最近做实验过程中,得到x,y两列数据,数据处理需要得到整数的y对应的x值。但是实验实际测得的都是非整数的y。小弟的思路是对x,y做多项式拟合,得到y(x)表达式,然后求解不同的yn(n=1,2,3...)下,多项式y(x)-yn=0的根,获得整数的yn对应的xn的值。
但是实际编程计算的时候,发现y(x)多项式次数竟然高达20多次,这样一来,迭代初值的选取对于解就很关键了。
于是小弟就编了一个循环语句,从实验数据x,y中找出离yn最接近的y值,用此y对应的x值作为迭代初值来解上述多项式y(x)-yn=0,但此时又提示方程无解。请问高人。上述问题该如何求解?
function chengxu()
clear;clc;
[x]=[24.968
29.968
34.968
39.968
44.968
49.968
54.968
59.968
64.968
69.968
74.968
79.968
84.968
89.968
94.968
99.968
104.968
109.968
114.968
119.968
124.968
129.968
134.968
139.968
144.968
149.968
154.968
159.968
164.968
169.968
174.968
179.968
184.968
189.968
194.968
199.968
204.968
209.968
214.968
219.968
224.968
229.968
234.968
239.968
244.968
249.968
254.968
259.968
264.968
269.968
274.968
279.968
284.968
289.968
294.968
299.968
304.968
309.968
314.968
319.968
324.968
329.968
334.968
339.968
344.968
349.968
354.968
359.968
364.968
369.968
374.968
379.968
384.968
389.968
394.968
399.968
404.968
409.968
414.968
419.968
424.968
429.968
434.968
439.968
444.968
449.968
454.968
459.968
464.968
469.968
474.968
479.968
484.968
489.968
494.968
499.968
504.968
509.968
514.968
519.968
524.968
529.968
534.968
539.968
544.968
549.968
554.968
559.968
564.968
569.968
574.968
579.968
584.968
589.968
594.968
599.968
604.968
609.968
614.968
619.968
624.968
629.968
634.968
639.968
644.968
649.968
654.968
659.968
664.968
669.968
674.968
679.968
684.968
689.968
694.968
699.968
704.968
709.968
714.968
719.968
724.968
729.968
734.968
739.968
744.968
749.968
754.968
759.968
764.968
769.968
774.968
779.968
784.968
789.968
794.968
799.968
804.968
809.968
814.968
819.968
824.968
829.968
834.968
839.968
844.968
849.968
854.968
859.968
864.968
869.968
874.968
879.968
884.968
889.968
894.968
899.968
904.968
909.968
914.968
919.968
924.968
929.968
934.968
939.968
944.968
949.968
954.968
959.968
964.968
969.968
974.968
979.968
984.968
989.968
994.968
]
[y]=[0
0.05472
0.2531
0.36114
0.39585
0.42126
0.4101
0.40093
0.36866
0.34101
0.32258
0.30415
0.29032
0.26055
0.23502
0.22581
0.21198
0.21198
0.22118
0.2212
0.19355
0.18433
0.18433
0.17051
0.15669
0.14286
0.13825
0.12903
0.11521
0.1106
0.10138
0.07373
0.05069
0.04147
0.00921
0.00922
-0.01382
-0.01383
-0.03226
-0.04608
-0.06452
-0.08756
-0.07834
-0.08756
-0.1106
-0.11982
-0.13825
-0.13825
-0.14747
-0.17972
-0.18433
-0.19355
-0.21198
-0.23041
-0.23963
-0.23502
-0.24424
-0.24885
-0.25806
-0.25806
-0.25346
-0.26267
-0.26267
-0.26267
-0.26267
-0.26267
-0.26728
-0.26728
-0.26728
-0.26728
-0.2765
-0.28571
-0.28111
-0.29032
-0.28571
-0.29954
-0.29032
-0.28111
-0.2765
-0.25806
-0.26728
-0.25346
-0.25806
-0.25806
-0.26267
-0.26267
-0.24885
-0.23963
-0.25806
-0.23962
-0.2212
-0.21198
-0.20276
-0.19813
-0.18432
-0.17512
-0.1659
-0.14286
-0.12903
-0.11521
-0.09677
-0.08756
-0.0553
-0.03687
0.01382
0.03226
0.05991
0.09217
0.12903
0.17051
0.19354
0.24419
0.28571
0.32719
0.36871
0.42396
0.47926
0.54377
0.59908
0.66359
0.7235
0.81567
0.8894
0.96322
1.04772
1.12409
1.2212
1.30414
1.39631
1.4779
1.56222
1.67281
1.77875
1.88018
2.00889
2.12442
2.23502
2.341
2.45161
2.5847
2.7098
2.82949
2.9585
3.08756
3.23502
3.38249
3.52535
3.67725
3.82419
3.97678
4.13378
4.29493
4.47467
4.65437
4.82995
5.01374
5.20265
5.40514
5.63134
5.84319
6.08746
6.33656
6.59907
6.89275
7.2212
7.57655
7.95015
8.36406
8.80655
9.29196
9.78712
10.33527
10.91511
11.54455
12.2
12.87039
13.55301
14.27623
14.99236
15.75269
16.5345
17.34496
18.19364
19.04598
19.93502
20.84707
21.79669
22.75194
23.76727
24.74717
25.64362
26.56645
27.54137
28.50983
29.48142
]
m=[0:1:30];
%找出与m值最接近的x,作为迭代初值
for ii=1:length(m)
a=m(ii)
for i=1:195
b(i)=abs(y(i)-a)
[B,n]=min(b)
end
q(ii)=x(n);
end
r=zeros(101,1);
z=zeros(101,101);
%找出最佳拟合次数n
for n=1:100
p=polyfit(x,y,n)
z=polyval(p,x)
r(n)=XGXS(z,y)
[R,n]=max(r);
end
p=polyfit(x,y,n)
hold on
disp('biaozhun')
disp(R)
disp(n)
disp(p)
z=polyval(p,x)
plot(x,y,'ro',x,z);
%% 求解T
T=zeros(length(m),1);
s=zeros(length(m),1);
f=@(T) polyval(p,T);
for ii=1:length(m)
T(ii)=fsolve(@(T) f(T)-m(ii),q(ii));
options=optimset('display','iter','tolfun',1e-2);
end
%% 输出
format long
disp('r为:')
disp(q)
format long
disp(T)
end
%计算相关系数
function r=XGXS(X,Y)
X1=mean(X);
Y1=mean(Y);
fenzi=sum((X-X1).*(Y-Y1));
fenmu=sqrt(sum((X-X1).^2)*sum((Y-Y1).^2));
r=fenzi/fenmu; %相关系数
end
matlab根号下是多项式,多项式求根相关推荐
- Matlab之代数方程求解:方程组求根
Matlab之代数方程求解:方程组求根 目录 方程组求根 1.solve( )求方程组的解 2.求解指数方程和对数函数方程 方程组求根 1.solve( )求方程组的解 (1)如求 eq1 = 'w ...
- matlab多项式计算(求根、由根创建、导数、积分)
1 matlab多项式求根 举例:求解多项式3x4-10x3+15x+1000的根 Matlab代码 %% 多项式求解 p = [3 -10 0 15 1000]; r = roots(p); 运行结 ...
- 【MATLAB实验】数学实验实验求根问题三种方法、积分画图及古典密码设计(二分法、牛顿法、不动点迭代法)
目录 特征值与特征向量 求最简型 编程题 求积分问题(quad.trapz.int) 求根问题(二分法.不动点迭代法.牛顿法) 1.二分法: 2.不动点迭代法 3.牛顿切线法 画图题 画螺旋曲线图 画 ...
- 5.2 matlab多项式计算(多项式的四则运算、求导、求值、求根)
1.多项式的表示 在MATLAB中创建多项式向量时,注意三点: (1)多项式系数向量的顺序是从高到低. (2)多项式系数向量包含0次项系数,所以其长度为多项式最高次数加1. (3)如果有的项没有,系数 ...
- MATLAB新手简明使用教程(七)——使用matlab建立多项式以及求导,商求导乘积求导等——新手来看,保证看懂。
前期回顾 上一期中,我们学了下面的知识: 定积分的基本概念和一些简单的几何意义. 使用 int 函数计算不定积分. 使用 int 函数计算定积分. 本期内容 本期我打算给大家介绍一下使用matlab对 ...
- matlab二元多项式求值,matlab多项式代入求值
Matlab 多项式运算与方程求根 ? Matlab多项式运算无论是在线性代数中,还是信号处理.自动控制等理论 中,多项式运算都有着十分重要的地位,因此,MATLAB 为多项式的操作提供了相应的函数库 ...
- python numpy 多项式函数 求导求根
python numpy 多项式函数 求导求根 """求出多项式的 导函数与根 """import numpy as np import m ...
- 求多项式浮点java思路,求多项式函数实数根的方法
第29卷 第5期 Vol. 29No. 5昭通师范高等专科学校学报Journal of Zhaotong Teacher πs College 2007年10月Oct. 2007●数学 求多项式函数实 ...
- [2021CCPC 威海G] Shinyruo and KFC (下降幂多项式乘法+下降幂转普通幂+多项式多点求值)
题意 给定 n n n 个正整数 a 1 , a 2 , ⋯ , a n a_1,a_2,\cdots,a_n a1,a2,⋯,an,并给定正整数 m m m,对于每个 k ∈ [ 1 , m ...
最新文章
- 诺基亚 IoT安全白皮书
- rocketmq集群安装部署过程(4.0.0版本)、安装中的常见问题举例
- Strut2的属性驱动,模型驱动的理解
- 第一章:The Missing Code Library--2.合法化输入
- SSH中为什么action需要用多例而dao层和service层为什么就用单例就可以
- php中mimes函数,wordpress函数check_upload_mimes()用法示例
- JS中的基本数据类型与引用数据类型
- pynq 环境搭建_蚂蚁S9矿板ZYNQ7010开发板移植PYNQ_2.5
- python与excel-超简单:用Python让Excel飞起来
- JavaScript中的变量 函数 对象的定义和方法
- MATLAB验证泊松亮斑,北大附中2014届高三物理一轮复习单元训练:波粒二象性
- Forge 养号手机在线源安装方式;
- python球的表面积和体积代码_C语言求球的表面积和体积
- 无线局域网怎么设置,更加安全?
- 企业印章使用与管理办法
- 国内专业垂直搜索引擎汇总
- 官方解释:Windows Vista和OpenGL
- BTC系列 - 用docker搭BTC Testnet
- 和第三方接口对接总结
- 计算机学院副院长竞聘稿,继续教育学院副院长竞聘演讲稿
热门文章
- JAVA旅游信息管理平台SSM【数据库设计、毕业设计、源码、开题报告】
- Architect架构师简历模板
- web基础学习(四)HTML5的主结构元素、表单
- 箭杆织布机计算机控制系统,高速喷水织布机单片机控制系统设计 毕业设计论文.doc...
- POI设置excel样式
- 玲听预告 | 蚂蚁金服布局区块链的底层心法是什么?
- Aspose.Word企业案例:Progetto Adele 使用 Aspose API 从预定义模板自动生成 Word 和 PDF 文件
- JavaScript--ES6【Promise】对象详解
- 交通·未来系列学术活动第1期:时空交通数据预测方法及应用
- windows 7 下让 Delphi 2010 开发的程序具备UAC管理员权限