簡體   English   中英

QT:使用qcustomplot繪制ax ^ 2 + bx + c

[英]QT: Draw ax^2+bx+c using qcustomplot

目前,我有以下代碼:

void MainWindow::generateData(QVector<double>& x, QVector<double>& y, double A, double B, double C)
{
    for (int i = 0; i < size; ++i)
    {
        x[i] = (i/50.0 - 1); // x goes from -1 to 1
        y[i] = x[i] * x[i];  // y = X^2;
    }
}

此方法為函數y = x ^ 2生成數據。

我想做的是繪制y = A * x ^ 2 + B * x + C的圖。

那么我應該如何重寫此方法呢?

顯而易見的方法是替換y[i] = x[i] * x[i];

y[i] = A * x[i] * x[i] + B * x[i] + C;

一種不太明顯但性能更高的方法是:

y[i] = C + x[i] * (B + x[i] * A);

更新:

在回答以下問題時,似乎x縮放因子不起作用。 因此,整個例程應類似於:

void MainWindow::generateData(QVector& x, QVector& y, double A, double B, double C)
{
    int size = x.size() < y.size() ? x.size() : y.size();

    for (int i = 0; i < size; ++i) {
        x[i] = (2*i/size - 1);
        y[i] = C + x[i] * (B + x[i] * A);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM