使用最小二乘法拟合二次函数
原理:
主要二次函数拟合算法,目前项目需要4组x,y拟合二次函数
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void EMatrix(QVector<double> Vx, QVector<double> Vy, int n, int ex, double coefficient[]);
void CalEquation(int exp, double coefficient[]);
double Em[100][100];
double RelatePow(QVector<double> Vx, int n, int ex);
double RelateMutiXY(QVector<double> Vx, QVector<double> Vy, int n, int ex);
double F(double c[],int l,int m);
public slots:
void quadraticcal();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "qmath.h"