void MainWindow::on_pushButton_27_clicked()//кнопка построения первой производной введенной пользователем{ char* p = new char(ui->lineEdit_3->text().length() + 1); strcpy(p, ui->lineEdit_3->text().toUtf8().constData()); functparcer funct1 = functparcer(p); double dlina = ui->lineEdit_2->text().toDouble(); double a = -dlina; //Начало интервала, где рисуем график по оси Ox double b = dlina+1; //Конец интервала, где рисуем график по оси Ox double h = 0.001; //Шаг, с которым будем пробегать по оси Ox int n=10*((b-a)/h + 1); //Вычисляем количество точек, которые будем отрисовывать QVector<double> x(n), y(n); //Массивы координат точек //Вычисляем наши данные int i=0; for (double X=a; X<=b; X+=h) { x[i]=X; y[i]=funct1.getY(X); i++; } ui->widget->addGraph(); ui->widget->graph(0)->setData(x, y); ui->widget->graph(0)->setPen(QColor(0, 0, 250, 255)); ui->widget->xAxis->setLabel("x"); ui->widget->yAxis->setLabel("y"); ui->widget->xAxis->setRange(-dlina, dlina);//Для оси Ox ui->widget->yAxis->setRange(-dlina, dlina);//Для оси Oy ui->widget->replot();//И перерисуем график на нашем widget}
//Вычисляем наши данные int i=0; for (double X=a; X<=b; X+=h) { x[i]=X; y[i]=5; i++; }
C++ (Qt)char* p = new char(ui->lineEdit_3->text().length() + 1);
C++ (Qt)char* p = new char[ ui->lineEdit_3->text().length() + 1 ];
void MainWindow::on_pushButton_27_clicked()//кнопка построения первой производной введенной пользователем{// generate some data:QVector<double> x(101), y(101); // initialize with entries 0..100for (int i=0; i<101; ++i){ x[i] = i/50.0 - 1; // x goes from -1 to 1 y[i] = x[i]*x[i]; // let's plot a quadratic function}// create graph and assign data to it:ui->widget->addGraph();ui->widget->graph(0)->setData(x, y);// give the axes some labels:ui->widget->xAxis->setLabel("x");ui->widget->yAxis->setLabel("y");// set axes ranges, so we see all data:ui->widget->xAxis->setRange(-1, 1);ui->widget->yAxis->setRange(0, 1);ui->widget->replot();}
void MainWindow::on_pushButton_27_clicked()//кнопка построения первой производной введенной пользователем{// generate some data:QVector<double> x(101), y(101); // initialize with entries 0..100for (int i=0; i<101; ++i){ x[i] = i/50.0 - 1; // x goes from -1 to 1 y[i] = 5; // let's plot a quadratic function}// create graph and assign data to it:ui->widget->addGraph();ui->widget->graph(0)->setData(x, y);// give the axes some labels:ui->widget->xAxis->setLabel("x");ui->widget->yAxis->setLabel("y");// set axes ranges, so we see all data:ui->widget->xAxis->setRange(-1, 1);ui->widget->yAxis->setRange(0, 1);ui->widget->replot();}
//Вычисляем наши данные for (int i = 0; i<n; i++) { x[i] = a + h*i;//и вообще уберите a и b. они не нужны. сделайте так x[i] = h*i - dlina ; y[i] = 5;// или funct1.getY(x[i]); }
int n=10*((b-a)/h + 1); //Вычисляем количество точек, которые будем отрисовывать
for (double X=a; X<=b; X+=h)
C++ (Qt)strcpy(p, ui->lineEdit_3->text().toUtf8().constData());