From a00031c0092fdc7a5b033bb6414f7e6e92596181 Mon Sep 17 00:00:00 2001 From: yuntang <123@qq.com> Date: Mon, 21 Apr 2025 17:31:38 +0800 Subject: [PATCH] 2025-04-21T17:31:37 --- experiment_data/analysis_state/~$peak.xlsx | Bin 165 -> 0 bytes .../analysis_state/玻璃化转变.xlsx | Bin 0 -> 113714 bytes src/data/pointcalculate.cpp | 82 ++++++- src/data/pointcalculate.h | 15 +- src/ui/centralwidget.cpp | 226 +++++++++++++++++- src/ui/centralwidget.h | 8 + 6 files changed, 320 insertions(+), 11 deletions(-) delete mode 100644 experiment_data/analysis_state/~$peak.xlsx create mode 100644 experiment_data/analysis_state/玻璃化转变.xlsx diff --git a/experiment_data/analysis_state/~$peak.xlsx b/experiment_data/analysis_state/~$peak.xlsx deleted file mode 100644 index d4a5841882f71e1e9259c5c320e2b84832515279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 ZcmZQhOiETD9WXN_G9)o1Gbqpn0s!Zc4-)_Y diff --git a/experiment_data/analysis_state/玻璃化转变.xlsx b/experiment_data/analysis_state/玻璃化转变.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8ad172a0f2169d8185c67a1442ce00248e04ffc6 GIT binary patch literal 113714 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%0A=B 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≻?c6n$!%rO`_u>97ddhiHaRyXV1s*Ot}Bv*$?$HW$t;ZF{b-Y zC*uj$do)#@!!0q}hiCf|s<%-XXHCBc@&0jt=t{9^3L+80E$-=!llHep6^A7nM)>o;5XvBq)FI^K}ogNBqi& zAIs}{@0n|Aso-uK*|(@j0-xqPPaXA(eVso>;*hjaKVb3cZCVOWgyl$N$Xc;8_l89* z4{~bZ;yrsQ!NRwUvxr{@_ptfZmeiG@-gD7pt#1?08f5i8GTCJN?0m(^{I;{iszaQr zUdGl+KthRi#x=lrV!ufRx77P>b*uQ^6U6>>=BQ4X)lvn5@^7zubx4fSe!(tDPb7+% z9}m^!yObp4)a3_=w7J;o4VnsImuP%Q8uh9&DAgJBowQsV-L4U)|TL)yG(oQbaXVYEp zF|jFQ*-%gVcyY>bj3ux#hL{}hhmvoM_FN#zvyR6#c})(a$xW7QY>F#c{n^~o&Ch1; z{dg;N1@q{`^U=BquGKK+lwU0FTCy6EAF|LAiqKRRA_-PpPfJxyn)M`)JmxdMWpZl~ zk=@6QWnFf^#D!qU|IS~d0vKZGWM=F95AxdksaxX}ST=`pXzg{1DSG_vI1Z z*De1oyya#^cVhfWmxnYPil#oV6BVuo7zksuH=CP8RoF)A(V~)0mQ&_lnl_NlP#bXM zzisq)Rq+>b=yGdT*?#GvHRCT+(lm~|=`2|~2 zr=Aj37=32%iOBHq@3z+HLEY+Z8NNXJ?DZ?U$DLn(#d`{I8Ok{AvKPDm->>CgTEPEy zIZ=Px-I-@l1FbY0}_4Mr+t*=e%Z=VPmf(7 z7)Mfli4Qa%8hd5f((Uf>CYb$ zJ$P>NQU-*d4VBr7BkT7VG?58Jj?EB#)c8*^*k6(Ur%)ArbPhLRqttj?k ztLYV%^HfCR@ny&L@cg%K(t1RTWe@0)IG~+Cx{0p1gT0HHy^Eo`r=yv(K17jxc;9W` z23@4MQ{3o}FcTvc7_pxuRrj5ueIz|^F}8(ZfuOcIcY;iU_lPPJ5>6YRe)kC(K%CA`UzF}2k!z)e~otv5+M$4@32c# zQ;~m1$7XF*f5%TLWvWIV(z+K$9Z+wE!g4@|ao_s*;AITE{_DeSeJNL0n+3!i&dnq= z>~5)Lv19mxRv5w>Eh=C1MABQK*UDOm5^84NQw=#zY==|QdYX=|NRcZfPPy_ZjVFiv zXailTw|pBOT{+p$lDH*u=cSWmZK9l;hre^nu&#G+a>)HthHt<6+;K_d@_4>Chwt>3 zvivPXqHAXIM%eo24FdNF;T8flcz;xT>wmjlH#_*h2Oww%2ncxKUv$;2e}$v}KIlIK z612t5L2LfC&GiKOe;o{(p*Jt+V9?9d;kmMtgCi9F{`+_$#Duh5U=%(B0r2mYZ;r?K zpPLywIzj{TpIcL_xzKWhtu?{c_}2&e`)tF&r~f+Wa|b80|7~;6$I5-IU`2eeIWz^J z*UiDVz$gFS+|}8|!S3HX_}{NE2swYfpzk3MNM;ay{{OGiO!cjQhpT^n&ws`>=s-6o zid^#_oBfX{_s{+OlLG(ue(vX7@8^FI;{V*kKe@Gk?*X&mW)J^j+W!B)`(Wzzrhluu z|2;zfsqg;#h{ylA*}v7^f1dI`dEkHV06*{gxc_G%^ij|cD6J# zbNQcR`(16b9(ErB!jBKg2tb^^e%;))#Q(AF^)9Z(>VKa8v_K PointCalculate::getCurveInflectionPointTangent(const float x1 dataVtr.push_back(ed.sampleTemp); } } - // + // 5 std::vector processedVtr = movingAverage(dataVtr,5); // find max slope. @@ -387,7 +387,7 @@ QPair PointCalculate::getCurveInflectionPointTangent(const float x1 return qMakePair(maxSlope,b); } -QPointF PointCalculate::getIntersectionBySlope(const LineStruct& line1, const LineStruct& line2) { +QPointF PointCalculate::getIntersection(const Line& line1, const Line& line2) { float x = (line2.intercept - line1.intercept) / (line1.slope - line2.slope); float y = line1.slope * x + line1.intercept; // return {x, y}; @@ -541,3 +541,81 @@ QVector PointCalculate::getDataInXRange(const float x1, return targetVtr; } + +QVector PointCalculate::getNearbyPointGroupByX(const float targetX) +{ + const int conCount = 10; + QVector tmpPointVtr,targetPointVtr; + float minDiff = std::numeric_limits::max(); + + for(Global::ExperimentData &ed:_dataVtr){ + float diff = std::abs(ed.sampleTemp - targetX); + if(diff > 10){ + continue; + } + + tmpPointVtr.push_back({ed.sampleTemp,ed.dsc}); + + if (diff < minDiff) { + minDiff = diff; + + targetPointVtr = QVector(tmpPointVtr.end() - conCount, tmpPointVtr.end()); + } + } + + + return targetPointVtr; +} + +// 计算两点之间的斜率 +double PointCalculate::calculateSlope(double x1, double y1, double x2, double y2) { + return (y2 - y1) / (x2 - x1); +} + +// 寻找第一个拐点 +QVector PointCalculate::findInflectionPoints( + const QVector& x, const QVector& y) { + QVector inflectionPointsX; + for (int i = 2; i < x.size() - 2; ++i) { + double d1 = calculateSlope(x[i - 2], y[i - 2], x[i - 1], y[i - 1]); + double d2 = calculateSlope(x[i - 1], y[i - 1], x[i], y[i]); + double d3 = calculateSlope(x[i], y[i], x[i + 1], y[i + 1]); + double d4 = calculateSlope(x[i + 1], y[i + 1], x[i + 2], y[i + 2]); + + // 检查二阶导数的符号变化 + if (((d2 - d1) * (d3 - d2) < 0) && ((d3 - d2) * (d4 - d3) < 0)) { + inflectionPointsX.append(x[i]); + } + } + return inflectionPointsX; +} + +// 计算切线方程 +QMap PointCalculate::calculateTangentLine( + const QVector& x, const QVector& y) { + QMap tangentLines; + QVector inflectionPointsX = findInflectionPoints(x, y); + + for (double xInflection : inflectionPointsX) { + int i = std::distance(x.begin(), std::find(x.begin(), x.end(), xInflection)); + double slope = calculateSlope(x[i - 1], y[i - 1], x[i + 1], y[i + 1]); + double yInflection = y[i]; + double intercept = yInflection - slope * xInflection; + tangentLines[xInflection] = {slope, intercept}; + } + + return tangentLines; +} +QVector PointCalculate::getPointVtrInXRange(const float x1, const float x2) +{ + QVector targetVtr; + for(const Global::ExperimentData &ed : _dataVtr) { + if(x1 < ed.sampleTemp && ed.sampleTemp < x2){ + targetVtr.push_back({ed.sampleTemp,ed.dsc}); + }else if (ed.sampleTemp > x2){ + break; + } + } + + return targetVtr; +} diff --git a/src/data/pointcalculate.h b/src/data/pointcalculate.h index ce4750b..7a08b0e 100644 --- a/src/data/pointcalculate.h +++ b/src/data/pointcalculate.h @@ -10,9 +10,13 @@ void setExperimentData(const QVector&); QPair getStartAndEndPoint(); QVector getDataInXRange(const float, const float); +QVector getPointVtrInXRange(const float, const float); void setRegionPointX(const float,const float); + QPointF getClosestPointByX(const float); +QVector getNearbyPointGroupByX(const float); + QPointF getClosestPointByY(const float left,const float right,const float valueY); QPointF getPeakPoint(); QPair getMaxMinValue(); @@ -32,11 +36,14 @@ QString textFormatGlassTranstion(const float t1,const float tg,const float t2); // glass transition QPair getCurveInflectionPointTangent(const float,const float); -struct LineStruct { - float slope; // - float intercept; // +struct Line { + double slope; // + double intercept; // }; -QPointF getIntersectionBySlope(const LineStruct& line1, const LineStruct& line2); +QPointF getIntersection(const Line& line1, const Line& line2); +double calculateSlope(double x1, double y1, double x2, double y2) ; +QVector findInflectionPoints(const QVector& x, const QVector& y) ; +QMap calculateTangentLine(const QVector& x, const QVector& y) ; //private void updateStartEndPoint(); diff --git a/src/ui/centralwidget.cpp b/src/ui/centralwidget.cpp index a120b4d..32694c3 100644 --- a/src/ui/centralwidget.cpp +++ b/src/ui/centralwidget.cpp @@ -352,7 +352,8 @@ void CentralWidget::slotAnalysisSettingApply() } case AnalysisMode::GlassTransition: { - glassTransitionHandle(); + // glassTransitionHandle(); + glassTransitionHandle2(); // break; } @@ -452,7 +453,7 @@ void CentralWidget::glassTransitionHandle() _customPlot->replot(); #endif // - PointCalculate::LineStruct lineStrc1,lineStrc2,tangetLineStrc; + PointCalculate::Line lineStrc1,lineStrc2,tangetLineStrc; lineStrc1.slope = 0.0; lineStrc1.intercept = point1.y(); @@ -464,8 +465,8 @@ void CentralWidget::glassTransitionHandle() tangetLineStrc.slope = tangentLinePair.first; tangetLineStrc.intercept = tangentLinePair.second; - QPointF intersection1 = PointCalculate::getIntersectionBySlope(tangetLineStrc,lineStrc1); - QPointF intersection2 = PointCalculate::getIntersectionBySlope(tangetLineStrc,lineStrc2); + QPointF intersection1 = PointCalculate::getIntersection(tangetLineStrc,lineStrc1); + QPointF intersection2 = PointCalculate::getIntersection(tangetLineStrc,lineStrc2); // logde<<"intersection1 x:"< xVtr,yVtr; + xVtr.push_back(intersection1.x()); + xVtr.push_back(point1.x()); + + yVtr.push_back(intersection1.y()); + yVtr.push_back(point1.y()); + + QCPGraph *lineGraph1 = _customPlot->addGraph(); + lineGraph1->setData(xVtr, yVtr); + _customPlot->replot(); + + ///line2 + QVector xVtr2,yVtr2; + xVtr2.push_back(intersection2.x()); + xVtr2.push_back(point2.x()); + + yVtr2.push_back(intersection2.y()); + yVtr2.push_back(point2.y()); + + QCPGraph *lineGraph2 = _customPlot->addGraph(); + lineGraph2->setData(xVtr2, yVtr2); + _customPlot->replot(); + + //draw text drawText(averagePoint,str); + _customPlot->replot(); + + #if 0 // 创建一个圆形绘图项 QCPItemEllipse *circle = new QCPItemEllipse(_customPlot); @@ -515,6 +545,192 @@ void CentralWidget::glassTransitionHandle() #endif } +void CentralWidget::glassTransitionHandle2() +{ + QPointF point1 = PointCalculate::getClosestPointByX(_line1->point1->coords().x()); + QPointF point2 = PointCalculate::getClosestPointByX(_line2->point1->coords().x()); + + logde<<"point1:"< point1Vtr = PointCalculate::getNearbyPointGroupByX(point1.x()); + QVector point2Vtr = PointCalculate::getNearbyPointGroupByX(point2.x()); + + QVector xVtr,yVtr; + for(QPointF &p:point1Vtr){ + xVtr.append(p.x()); + yVtr.append(p.y()); + } + + PointCalculate::Line line1 = calculateLinearRegression(xVtr,yVtr); + +#if 1 + ///line1 + // QVector xVtr,yVtr; + xVtr.clear(); + yVtr.clear(); + + xVtr.push_back(point1.x()); + yVtr.push_back(point1.y()); + + xVtr.push_back(point1.x() + 10); + double y1 = line1.slope * (point1.x() + 10) + line1.intercept; + yVtr.push_back(y1); + + QCPGraph *lineGraph1 = _customPlot->addGraph(); + lineGraph1->setData(xVtr, yVtr); + QPen pen; + pen.setColor(Qt::darkGreen); + lineGraph1->setPen(pen); + +#endif + + xVtr.clear(); + yVtr.clear(); + for(QPointF &p:point2Vtr){ + xVtr.append(p.x()); + yVtr.append(p.y()); + } + + PointCalculate::Line line2 = calculateLinearRegression(xVtr,yVtr); + +#if 1 + ///line2 + QVector xVtr2,yVtr2; + xVtr2.push_back(point2.x()); + yVtr2.push_back(point2.y()); + + xVtr2.push_back(point2.x() - 10); + double y2 = line2.slope * (point2.x() - 10) + line2.intercept; + yVtr2.push_back(y2); + + QCPGraph *lineGraph2 = _customPlot->addGraph(); + lineGraph2->setData(xVtr2, yVtr2); + lineGraph2->setPen(pen); + + _customPlot->replot(); +#endif + + // inflection point. + QVector pointVtr = PointCalculate::getPointVtrInXRange(point1.x(),point2.x()); + + xVtr.clear(); + yVtr.clear(); + for(QPointF& p:pointVtr){ + xVtr.append(p.x()); + yVtr.append(p.y()); + } + QMap tangentLines = + PointCalculate::calculateTangentLine(xVtr,yVtr); + + double targetX = 0.0; + PointCalculate::Line targetLine; + double maxSlopeAbs = 0.0; // 初始化最大斜率绝对值为0 + for (auto it = tangentLines.begin(); it != tangentLines.end(); ++it) { + if (std::fabs(it.value().slope) > maxSlopeAbs) { + maxSlopeAbs = std::fabs(it.value().slope); // 更新最大斜率绝对值 + + targetX = it.key(); + targetLine = it.value(); + } + } + +#if 1 + QPointF intersection1 = PointCalculate::getIntersection(targetLine,line1); + QPointF intersection2 = PointCalculate::getIntersection(targetLine,line2); + + // graph 3 + xVtr.clear(); + yVtr.clear(); + +#if 0 + xVtr.push_back(point1.x()); + yVtr.push_back(point1.y()); + + xVtr.push_back(point1.x()); + yVtr.push_back(point1.y()); +#endif +#if 1 + xVtr.push_back(intersection1.x()); + yVtr.push_back(intersection1.y()); + + xVtr.push_back(intersection2.x()); + yVtr.push_back(intersection2.y()); +#endif + + QCPGraph *lineGraph3 = _customPlot->addGraph(); + lineGraph3->setData(xVtr, yVtr); + lineGraph3->setPen(pen); +#endif + + _customPlot->replot(); + + // point value + double averageY = (point1.y() + point2.y()) / 2; + + QPointF averagePoint = PointCalculate::getClosestPointByY(point1.x(),point2.x(),averageY); + + + QString str = PointCalculate::textFormatGlassTranstion(intersection2.x(), + averagePoint.x(), + intersection1.x()); + + drawText(averagePoint,str); + +} +// 使用最小二乘法计算线性回归 +PointCalculate::Line CentralWidget::calculateLinearRegression(const QVector& x, const QVector& y) { + PointCalculate::Line line; + double sum_x = 0, sum_y = 0, sum_xy = 0, sum_xx = 0; + size_t n = x.size(); + + // 计算所需的总和 + for (size_t i = 0; i < n; ++i) { + sum_x += x[i]; + sum_y += y[i]; + sum_xy += x[i] * y[i]; + sum_xx += x[i] * x[i]; + } + + // 计算斜率和截距 + double x_mean = sum_x / n; + double y_mean = sum_y / n; + double numerator = n * sum_xy - sum_x * sum_y; + double denominator = n * sum_xx - sum_x * sum_x; + line.slope = numerator / denominator; + line.intercept = y_mean - line.slope * x_mean; + + return line; +} + +// 二次多项式拟合函数 +void CentralWidget::quadraticFit(const QVector& points, double& a, double& b, double& c) { + int n = points.size(); + if (n < 3) { + throw std::invalid_argument("At least three points are required for quadratic fit."); + } + + double sumX = 0, sumY = 0, sumXX = 0, sumXY = 0, sumX2Y = 0; + for (const QPointF& p : points) { + sumX += p.x(); + sumY += p.y(); + sumXX += p.x() * p.x(); + sumXY += p.x() * p.y(); + sumX2Y += p.x() * p.x() * p.y(); + } + + double det = n * (sumXX * sumY - sumX * sumXY) - sumX * sumX * sumY + sumX * sumX2Y; + a = (sumXX * sumY - sumX * sumXY) / det; + b = (sumX2Y - n * sumXY) / det; + c = (sumY - a * sumX - b * sumX) / n; +} + +// 计算二次多项式拟合曲线的导数(切线斜率) +double CentralWidget::derivativeAt(const double a, const double b, const double x) { + return 2 * a * x + b; +} + + void CentralWidget::setEventHandlerEnable(const bool flag) { logde<<"setEventHandlerEnable..."<graphCount() - 1; i >= 0; --i) { QCPGraph *graph = _customPlot->graph(i); - _customPlot->removeGraph(graph); + _customPlot->removeGraph(graph); } #endif diff --git a/src/ui/centralwidget.h b/src/ui/centralwidget.h index 5cc2e43..fabf77f 100644 --- a/src/ui/centralwidget.h +++ b/src/ui/centralwidget.h @@ -9,6 +9,7 @@ #include "global.h" #include "eventhandler.h" #include "filemanager.h" +#include "pointcalculate.h" class CentralWidget:public QWidget { @@ -51,6 +52,13 @@ protected: void contextMenuEvent(QContextMenuEvent *event); private: void glassTransitionHandle(); + + void glassTransitionHandle2(); + void quadraticFit(const QVector& points, double& a, double& b, double& c); + double derivativeAt(const double a, const double b, const double x); + PointCalculate::Line calculateLinearRegression(const QVector& x, const QVector& y); + + void setEventHandlerEnable(const bool); void drawText(const QPointF,const QString); void fillGraph(const double x1,const double x2);