Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void mmoo::on_raschet_clicked()//действие при нажатии
- {
- double la = ui->lineEdit_X->text().toDouble();//ввод значений для переменный la, mu
- double mu = ui->lineEdit_Y->text().toDouble();
- int summ = 1;
- if((la / mu) > 0 && (la / mu) < 1)//условие
- {
- ui->raschet->setStyleSheet("background: green"); // выполнено верно
- ui->wrong->setText("");
- double K = la / mu;//объявление переменных с их формулами
- double Ws = 1 / mu;
- ui->lineEdit_K->setText( QString::number( K ) );//вывод значений после вычислений
- ui->lineEdit_Ws->setText( QString::number( Ws ) );
- QVector<double> x(12), y(12); //построение графика
- for (int i=0; i<11; i++)
- {
- summ = summ *i;
- y[i] = ((pow((la / mu), i)) / summ) * exp(-(la / mu));
- x[i] = i;
- }
- // создаем график и добавляем данные:
- ui->grafik->addGraph();
- ui->grafik->graph(0)->setData(x, y);
- // задаем имена осей координат
- ui->grafik->xAxis->setLabel("k");
- ui->grafik->yAxis->setLabel("Pk");
- // задаем размеры осей
- ui->grafik->xAxis->setRange(0, 10);
- ui->grafik->yAxis->setRange(0, 1.5);
- ui->grafik->replot();
- QVector<double> Ticks;//шаг
- int i = 0;
- while(i<=10) {
- Ticks << i;
- i+=1;
- }
- ui->grafik->xAxis->setAutoTicks(false); // выключаем автоматические отсчеты
- ui->grafik->xAxis->setTickVector(Ticks);
- QStringList QSLx,QSLy; //заполнение счётчика для х,у
- for (int i=0; i<11; i++)
- {
- QSLx<<QString::number(x[i]= i);
- QSLy<<QString::number(y[i] = i);
- }
- QAbstractItemModel *QAIM = new QStringListModel(QSLx);
- for (int i=0; i<11; i++)
- {
- //double summ = 1;
- y[i] = i;
- x[i] = i;
- }
- ui->schetchik->setModel(QAIM);
- QStringList QSLz,QSLl; // заполнение таблицы значениями в точках х,у
- for (int i=0; i<11; i++)
- {
- double summ = 1;
- QSLz<<QString::number(x[i]=((pow((la / mu), i)) / summ) * exp(-(la / mu)));
- QSLl<<QString::number(y[i] = i);
- }
- QAbstractItemModel *QAIM1 = new QStringListModel(QSLz);
- for (int i=0; i<11; i++)
- {
- y[i] = i;
- x[i] = i;
- }
- ui->listView->setModel(QAIM1);
- }
- else//значения в случае ошибки
- {
- ui->raschet->setStyleSheet("background: red");//кнопка становится красной в случае ошибки
- ui->wrong->setText("Значение μ должно быть больше λ");//комментарий при ошибке
- ui->lineEdit_K->setText(" ");
- ui->lineEdit_Ws->setText(" ");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement