matlab拟合系数精度怎么调,Matlab中拟合函数的系数错误
我的桌子看起来像这样:
x Line Name
-40 -30 -20 -10 0 10 20 30 40 50
-1500 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
-1000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN 700
1000 NaN NaN NaN NaN NaN NaN NaN NaN NaN 673
2000 NaN NaN NaN NaN NaN NaN NaN NaN 689 646
3000 NaN NaN NaN NaN NaN NaN NaN 694 662 NaN
4000 NaN NaN NaN NaN NaN NaN 696 668 636 NaN
5000 NaN NaN NaN NaN NaN 695 669 642 611 NaN
6000 NaN NaN NaN NaN 693 669 644 617 587 NaN
7000 NaN NaN NaN 691 666 643 619 593 563 NaN
8000 NaN NaN 691 665 641 619 595 569 NaN NaN
9000 NaN 691 664 639 616 595 572 547 NaN NaN
10000 691 664 639 615 592 571 550 525 NaN NaN
11000 664 638 614 591 569 549 528 503 NaN NaN
12000 638 613 590 567 546 527 507 483 NaN NaN
13000 612 589 566 545 525 506 486 NaN NaN NaN
14000 587 564 543 522 503 485 466 NaN NaN NaN
15000 562 541 520 500 482 465 446 NaN NaN NaN
16000 539 518 498 479 462 446 428 NaN NaN NaN
17000 516 496 477 459 442 427 409 NaN NaN NaN
18000 494 475 457 439 423 409 NaN NaN NaN NaN
19000 473 455 437 420 405 392 NaN NaN NaN NaN
20000 452 435 418 402 388 375 NaN NaN NaN NaN
我可以绘制一个如下图:
从左到右,蓝线代表“线名”-40到50。
以下是您可以复制的确切代码:
%% Load data
Array6 =[NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN 700
NaN NaN NaN NaN NaN NaN NaN NaN NaN 673
NaN NaN NaN NaN NaN NaN NaN NaN 689 646
NaN NaN NaN NaN NaN NaN NaN 694 662 NaN
NaN NaN NaN NaN NaN NaN 696 668 636 NaN
NaN NaN NaN NaN NaN 695 669 642 611 NaN
NaN NaN NaN NaN 693 669 644 617 587 NaN
NaN NaN NaN 691 666 643 619 593 563 NaN
NaN NaN 691 665 641 619 595 569 NaN NaN
NaN 691 664 639 616 595 572 547 NaN NaN
691 664 639 615 592 571 550 525 NaN NaN
664 638 614 591 569 549 528 503 NaN NaN
638 613 590 567 546 527 507 483 NaN NaN
612 589 566 545 525 506 486 NaN NaN NaN
587 564 543 522 503 485 466 NaN NaN NaN
562 541 520 500 482 465 446 NaN NaN NaN
539 518 498 479 462 446 428 NaN NaN NaN
516 496 477 459 442 427 409 NaN NaN NaN
494 475 457 439 423 409 NaN NaN NaN NaN
473 455 437 420 405 392 NaN NaN NaN NaN
452 435 418 402 388 375 NaN NaN NaN NaN];
MakeMatrix = [-1500,-1000:1000:20000];
x = transpose([MakeMatrix;MakeMatrix;MakeMatrix;MakeMatrix;MakeMatrix;MakeMatrix;MakeMatrix;MakeMatrix;MakeMatrix;MakeMatrix]); %transpose switches rows and columns=to match array dimentions
%% Plot
hold on
A=plot(x,Array6,'b*')
grid on
grid minor
这是一个很大的问题,请相信我,我一直试图解决这个问题一个星期,并且还没有结束。我想将“线名”-50,-40和-20的数据分成矢量,如下所示:
x1 = transpose([-1500,-1000:1000:20000]); y1 = Array6(:,1); %LineName-40
x2 = transpose([-1500,-1000:1000:20000]); y2 = Array6(:,2); %LineName-30
x3 = transpose([-1500,-1000:1000:20000]); y3 = Array6(:,4); %LineName-10
问题在于我的NaNs无法正常工作,但这已经解决了,如下所示:
f = fittype('poly2');
DatumLine1Fit = fit(x1,y1,f, 'Exclude', isnan(y1));
DatumLine2Fit = fit(x2,y2,f, 'Exclude', isnan(y2));
DatumLine3Fit = fit(x3,y3,f, 'Exclude', isnan(y3));
现在我取出系数并将它们放在矩阵中:
DatumLine1Coeff = coeffvalues(DatumLine1Fit);
DatumLine2Coeff = coeffvalues(DatumLine2Fit);
DatumLine3Coeff = coeffvalues(DatumLine3Fit);
CoeffMatrix3x3 = transpose([DatumLine1Coeff;DatumLine2Coeff;DatumLine3Coeff]);
这将CoeffMatrix3x3值赋予:
3.64801864801874e-07 3.46403596403601e-07 3.13873626373624e-07
-0.0348622377622380 -0.0333289210789212 -0.0307339285714285
1003.38694638695 962.893356643357 890.746978021977
然而,这就是问题,这是库仑(10,9和7)的系数,它是矩阵的反面,而不是我的代码中所示的库仑(1,2和4)? / p>
库仑(1,2和4)的正确CoeffMatrix3x3应为:
4.5e-07 3.393e-07 3.25e-07
-0.02775 -0.02815 -0.02881
700.6 744.1 805.8
这里有一些代码可以直观地验证是否获得了错误的系数(注意拟合线位于第20,40和50行......它们应该在-40,-30,-10行上):
DatumLineSet = [-40 -30 -10]; % Left Original lines used for coefficient determination(Not need to be eavenly spaced)
AdditionalLineSet = [-40: 10:-10]; % Left Additional lines to be plotted from the DatumLineSet
FitLine_XRange = -5000:100:20000; %X-Axis points created for the fit line to follow
for i = 1:length(AdditionalLineSet), %length= For vectors, the length is simply the number of elements
% straight line coefficients
c02 = interp1(DatumLineSet,CoeffMatrix3x3(1,:),AdditionalLineSet(i)); %a from y=ax^2+bx+c
c01 = interp1(DatumLineSet,CoeffMatrix3x3(2,:),AdditionalLineSet(i)); %b
c00 = interp1(DatumLineSet,CoeffMatrix3x3(3,:),AdditionalLineSet(i)); %c
% generate the line
FitLine_YRange = polyval([c02 c01 c00],FitLine_XRange);
plot(FitLine_XRange,FitLine_YRange,'b');
end
请帮忙。非常感谢!您可以使用matlab曲线拟合应用程序找到正确的系数,如我的评论中所述。
matlab拟合系数精度怎么调,Matlab中拟合函数的系数错误相关推荐
- matlab怎么画碎石图,成分分析中biplot函数不理解_主成分分析
成分分析中biplot函数不理解_主成分分析 对主成分分析中的biplot函数不理解,谁能帮忙解释?谢谢了 解答: 运行下面的例子,理解我加黑的那句话即可: Examples Perform a pr ...
- matlab 里try用法,matlab在整个程序(全局)中使用try-catch来报告错误
我的matlab程序是一个多窗口程序化GUI.我已经实现了一个报告系统,所以当遇到错误时,它会调用我编写的函数generateReport.m,它发送一个带有一些日志和状态信息的电子邮件,然后继续执行 ...
- python 拟合正态分布_如何在Python中拟合双高斯分布?
我试图使用Python获得数据(link)的双高斯分布.原始数据的格式为: 对于给定的数据,我想获得图中所示峰值的两个高斯分布.我用以下代码(source)进行了尝试:from sklearn imp ...
- python05:Python 3.x中format函数遇见的错误
一.基础介绍 函数:format. 作用:传参数给所需要输出的变量. 一般形式分为以下两种: 1.前缀对象中需要传入参数的占位标志位为'{0}/{1}/...':对象.format(value1,va ...
- Matlab中assert函数的使用
目录 语法 说明 示例 值在预期范围之内 期望的数据类型 预期的代码执行情况 assert是条件为 false 时引发错误. 语法 assert(cond) assert(cond,msg) asse ...
- matlab输出pdf图片超出边框,matlab - 将Matlab Simulink模型保存为PDF,带有紧密的边界框 - 堆栈内存溢出...
给定Simulink框图(模型),我想生成稍后在LaTeX文档中使用的"屏幕截图". 我希望这个截图是PDF(矢量图形, - > pdflatex),带有一个紧密的边界框,我 ...
- lambda函数python-python中lambda函数
1.lambda函数使用如下: lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右侧的是返回值 >>> g=lambda x,y:x*y >>> g( ...
- 解决代码中重复的捕获 promise 错误的 try catch 语句
promise promise 的出现,提供了优雅的异步解决方式,但是,多个连续继发 promise 写法依然繁琐. let promise = new Promise(function(resolv ...
- matlab中多项式拟合如何给出r方,matlap拟合函数后r^2怎么求
matlab拟合函数 求助 尝试用二次多项式拟合: clearall; x=2:2:20; y=[0.31.232.416.267.958.529.049.179.299.37]; scatter(x ...
最新文章
- 在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录
- 复习计算机网络基础 day7--网络层
- android 图片操作
- 客户区和非客户区指的什么?窗口客户区和视图客户区的区别(小问题大思想)
- jquery中如何获得$.ajax()事件返回的值
- MenuItem 对象
- [转]国内优秀论坛之大汇集
- Java拦截器验证失败时返回Json格式数据
- m4s格式转换mp3_音频格式转换器哪个好,推荐几款免费的mp3格式转换器
- 怎样设计一个好的社交网站
- 腾讯2018秋招正式笔试题目——拼凑硬币
- 域名访问限制不严格漏洞 修复
- 美国互联网影视的盈利模式 —— Netflix模式
- QTransform(图形平移旋转剪切变换)
- 微信退款小程序支付/退款
- html载入3d模型,webGL3D模型的加载与使用
- 几类常用Case工具介绍
- css显示苹方字体,苹方字体合集
- kaggle竞赛 | 计算机视觉 | Doodle Recognition Challenge
- 我的C++实践(11):存放异类对象的元组类型