我的桌子看起来像这样:

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中拟合函数的系数错误相关推荐

  1. matlab怎么画碎石图,成分分析中biplot函数不理解_主成分分析

    成分分析中biplot函数不理解_主成分分析 对主成分分析中的biplot函数不理解,谁能帮忙解释?谢谢了 解答: 运行下面的例子,理解我加黑的那句话即可: Examples Perform a pr ...

  2. matlab 里try用法,matlab在整个程序(全局)中使用try-catch来报告错误

    我的matlab程序是一个多窗口程序化GUI.我已经实现了一个报告系统,所以当遇到错误时,它会调用我编写的函数generateReport.m,它发送一个带有一些日志和状态信息的电子邮件,然后继续执行 ...

  3. python 拟合正态分布_如何在Python中拟合双高斯分布?

    我试图使用Python获得数据(link)的双高斯分布.原始数据的格式为: 对于给定的数据,我想获得图中所示峰值的两个高斯分布.我用以下代码(source)进行了尝试:from sklearn imp ...

  4. python05:Python 3.x中format函数遇见的错误

    一.基础介绍 函数:format. 作用:传参数给所需要输出的变量. 一般形式分为以下两种: 1.前缀对象中需要传入参数的占位标志位为'{0}/{1}/...':对象.format(value1,va ...

  5. Matlab中assert函数的使用

    目录 语法 说明 示例 值在预期范围之内 期望的数据类型 预期的代码执行情况 assert是条件为 false 时引发错误. 语法 assert(cond) assert(cond,msg) asse ...

  6. matlab输出pdf图片超出边框,matlab - 将Matlab Simulink模型保存为PDF,带有紧密的边界框 - 堆栈内存溢出...

    给定Simulink框图(模型),我想生成稍后在LaTeX文档中使用的"屏幕截图". 我希望这个截图是PDF(矢量图形, - > pdflatex),带有一个紧密的边界框,我 ...

  7. lambda函数python-python中lambda函数

    1.lambda函数使用如下: lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右侧的是返回值 >>> g=lambda x,y:x*y >>> g( ...

  8. 解决代码中重复的捕获 promise 错误的 try catch 语句

    promise promise 的出现,提供了优雅的异步解决方式,但是,多个连续继发 promise 写法依然繁琐. let promise = new Promise(function(resolv ...

  9. 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 ...

最新文章

  1. 在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录
  2. 复习计算机网络基础 day7--网络层
  3. android 图片操作
  4. 客户区和非客户区指的什么?窗口客户区和视图客户区的区别(小问题大思想)
  5. jquery中如何获得$.ajax()事件返回的值
  6. MenuItem 对象
  7. [转]国内优秀论坛之大汇集
  8. Java拦截器验证失败时返回Json格式数据
  9. m4s格式转换mp3_音频格式转换器哪个好,推荐几款免费的mp3格式转换器
  10. 怎样设计一个好的社交网站
  11. 腾讯2018秋招正式笔试题目——拼凑硬币
  12. 域名访问限制不严格漏洞 修复
  13. 美国互联网影视的盈利模式 —— Netflix模式
  14. QTransform(图形平移旋转剪切变换)
  15. 微信退款小程序支付/退款
  16. html载入3d模型,webGL3D模型的加载与使用
  17. 几类常用Case工具介绍
  18. css显示苹方字体,苹方字体合集
  19. kaggle竞赛 | 计算机视觉 | Doodle Recognition Challenge
  20. 我的C++实践(11):存放异类对象的元组类型

热门文章

  1. 概率统计Python计算:条件概率和概率乘法公式
  2. XXljob 使用教程(springboot)
  3. Oracle IN 与 DISTINCT
  4. 关于htons和htonl
  5. Git 如何生成SSH key
  6. HTML绘制七巧板,canvas绘制七巧板
  7. C语言--Union类型的使用方法
  8. java架构模式与设计模式(三)--事件风暴
  9. IDEA查看jks文件
  10. 【python学习笔记】25:scipy中值滤波