Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Correcting data by equation parameters
Forum Updated to NodeBB v4.3 + New Features

Correcting data by equation parameters

Scheduled Pinned Locked Moved Unsolved General and Desktop
22 Posts 4 Posters 5.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E erytcg

    I need something simple. Maybe only y=ax+b;

    mrjjM Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by
    #6

    @erytcg
    and you want to parse it and execute it ?
    There are many examples of a small calculator on the net. its a common
    text book task.

    1 Reply Last reply
    2
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #7

      https://en.wikipedia.org/wiki/Shunting-yard_algorithm

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      2
      • E Offline
        E Offline
        erytcg
        wrote on last edited by
        #8

        any example for calculating without buttons? only input line.

        mrjjM 1 Reply Last reply
        0
        • E erytcg

          any example for calculating without buttons? only input line.

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #9

          @erytcg
          The link VRonin gave is without buttons.
          Just the pure way to do it.

          1 Reply Last reply
          1
          • E Offline
            E Offline
            erytcg
            wrote on last edited by
            #10

            It is possible to use varibales names in this?

            mrjjM 1 Reply Last reply
            0
            • E erytcg

              It is possible to use varibales names in this?

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by mrjj
              #11

              @erytcg
              yeah should be as you can just treat the variable as a number and substitute when you calculate the result.
              it also support operator precedence but stuff like
              x=(1.3x+1)^2;
              will require somewhat a more data complex model to handle flawless i think.

              1 Reply Last reply
              0
              • E Offline
                E Offline
                erytcg
                wrote on last edited by
                #12

                And one more question this algorithm is fast? I have a looot of data and I have to calculate it in real time:D

                mrjjM 1 Reply Last reply
                0
                • E erytcg

                  And one more question this algorithm is fast? I have a looot of data and I have to calculate it in real time:D

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by
                  #13

                  @erytcg
                  well, it's minimal and makes handling the expressions easier (for the programmer) but since it is sort of a text parser, not that fast but for small expressions its not wildly time consuming.

                  1 Reply Last reply
                  0
                  • mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by
                    #14

                    Depending on what you need to handle, maybe using something like
                    https://github.com/ArashPartow/exprtk ?

                    1 Reply Last reply
                    0
                    • E Offline
                      E Offline
                      erytcg
                      wrote on last edited by erytcg
                      #15

                      Can I use QScriptEngine?

                      But I have problem

                      #include <QtScript/qscriptengine.h>
                      #include <QtScript/qscriptvalue.h>
                      
                      QString x = ui->correctDataLine->displayText();
                      QScriptEngine myEngine;
                      QScriptValue x2 = myEngine.evaluate(x);
                      qDebug() << x2.toNumber();
                      
                      undefined reference to `_imp___ZN13QScriptEngineC1Ev'
                      
                      mrjjM 1 Reply Last reply
                      0
                      • E erytcg

                        Can I use QScriptEngine?

                        But I have problem

                        #include <QtScript/qscriptengine.h>
                        #include <QtScript/qscriptvalue.h>
                        
                        QString x = ui->correctDataLine->displayText();
                        QScriptEngine myEngine;
                        QScriptValue x2 = myEngine.evaluate(x);
                        qDebug() << x2.toNumber();
                        
                        undefined reference to `_imp___ZN13QScriptEngineC1Ev'
                        
                        mrjjM Offline
                        mrjjM Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on last edited by mrjj
                        #16

                        @erytcg
                        do you have
                        QT += script
                        in the pro file?

                        1 Reply Last reply
                        3
                        • E Offline
                          E Offline
                          erytcg
                          wrote on last edited by
                          #17

                          Ok thanks my bad:(
                          Do you think can I use this with variables names?

                          mrjjM 1 Reply Last reply
                          1
                          • E erytcg

                            Ok thanks my bad:(
                            Do you think can I use this with variables names?

                            mrjjM Offline
                            mrjjM Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on last edited by
                            #18

                            @erytcg
                            What do you mean with "variables names" ?
                            To put inside QScriptEngine or what you wanna do with variables?

                            1 Reply Last reply
                            0
                            • mrjjM Offline
                              mrjjM Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on last edited by mrjj
                              #19

                              Ah I see where you are aiming :)
                              Yes you can use it for your use case. Depending on the complexity you need.
                              http://www.informit.com/articles/article.aspx?p=1405559&seqNum=2
                              Using script with js to play calculator.

                              1 Reply Last reply
                              0
                              • E Offline
                                E Offline
                                erytcg
                                wrote on last edited by
                                #20

                                I have this
                                0_1509308181416_1a4c9133-55ab-43be-9958-7c649b4c8d49-obraz.png

                                And I have variable name: x. I put to QLineEdit 1+x * 3
                                And script automatically calculate new value of x.
                                x = 1+x*3

                                mrjjM 1 Reply Last reply
                                0
                                • E erytcg

                                  I have this
                                  0_1509308181416_1a4c9133-55ab-43be-9958-7c649b4c8d49-obraz.png

                                  And I have variable name: x. I put to QLineEdit 1+x * 3
                                  And script automatically calculate new value of x.
                                  x = 1+x*3

                                  mrjjM Offline
                                  mrjjM Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #21

                                  @erytcg
                                  Only if you program in js to solve it. it can evaluate values for you but
                                  it cant tell you what x is as far as i know.

                                  1 Reply Last reply
                                  0
                                  • VRoninV Offline
                                    VRoninV Offline
                                    VRonin
                                    wrote on last edited by VRonin
                                    #22

                                    Why are you using JS libraries with a deprecated Qt module when @mrjj linked a good C++ library that can do what you want? there are even examples that do basically what you want to do.

                                    If you want something that would solve generic expressions (i.e. no numeric values involved). The issue becomes a lot more complicated and, you are probably better off using a service like Wolfram Alpha's API

                                    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                    ~Napoleon Bonaparte

                                    On a crusade to banish setIndexWidget() from the holy land of Qt

                                    1 Reply Last reply
                                    2

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved