<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[GNU Libmatheval in C++ Programm]]></title><description><![CDATA[<p>Hallo!</p>
<p>ich habe ein kleinclass geschrieben;zwei Methoden dieses Classes sollten Werte an X und y Pair in globale Struct zuweisen; num möchte ich die Werte durch eine Funktion, die ich über Konsole eingebe,erstmal auswerten und dafür benutze GNU Libmathavel(C- Bibleotheck) die der eingegebenen mathematischen Funktionen für spezifizierte variable Werte auswerten kann; ich habe sie in Funktionparser schön verwendet;<br />
Nun meine Frage wie Kann ich die in meiner classmathoden (dezim() gibt Funktionsplottwerte zurück und inter() liefer Funcktionstransmittwerte), verwenden;</p>
<p>hier ist die Funktionsparser code:</p>
<pre><code class="language-cpp">void f_eingeben(){

 char buffer[BUFFER_SIZE];
  int length;
  void *f;
  char **names;
  int count j,i;
  double X;
  double *x_f;
  cout &lt;&lt;&quot;f(x_f) = &quot;;
  cin.getline(buffer, BUFFER_SIZE);
  length = strlen (buffer);
  if (length &gt; 0 &amp;&amp; buffer[length - 1] == '\n')
    buffer[length - 1] = '\0';

  f = evaluator_create (buffer); /* Create evaluator for function.  */
  assert (f);
/* Print variable names appearing in function. */
  evaluator_get_variables (f,&amp;names, &amp;count);
  cout &lt;&lt;&quot; &quot; ;
  for (j = 0; j &lt; count; j++)
    // printf (&quot;%s &quot;, names[j]);
    cout &lt;&lt;'\n';

 double* y= new double [N_SAMPLES];
double X=0.001;
for(j=0;j&lt;=N_SAMPLES-1;j++){
    y[j]=evaluator_evaluate_x (f,X);  / Funktion evalutator_evaluate_x() zur Auswertung von f(x)
    X=X*j;
    // cout &lt;&lt;y_z[j]&lt;&lt;'\t'&lt;&lt; j&lt;&lt;'\n';
  }

 /* Destroy evaluators.  */
evaluator_destroy (f);
</code></pre>
<p>hier class.h</p>
<pre><code class="language-cpp">struct XYpair{
  double x;
  double y;
};

class INPUT{

 private:
  int psize;
  double xmin,xmax;
  XYpair* ptr;
  int intep;
  int dacrate;
  int ns;
public:
  void setvalue();
  XYpair* Dezim(int&amp; psize, XYpair* ptr);
  XYpair* Interp(int&amp; ns,  XYpair* ptr);
</code></pre>
<p>class.pp</p>
<pre><code class="language-cpp">XYpair* INPUT::Dezim(int&amp; psize, struct XYpair* ptr){

  double xr=xmax-xmin/psize;
  double X=0.0;
  int i;
  XYpair *dptr= new XYpair [psize];
  for(i=0;i&lt;psize;i++){
    dptr[i].x=X;
    dptr[i].y=sin(X);    &lt;-----//mit f_eingeben() ausgewertet
    X+=xr;
  }
  delete[]dptr;
  return dptr;
}

XYpair* INPUT::Interp(int&amp; ns, XYpair* ptr){

  double xr=(double)(intep*4/dacrate);
  XYpair *iptr;
  iptr=new XYpair[ns];
  int i;
  for(i=0;i&lt;ns;i++)
{
  iptr[i].x=xr;
  iptr[i].y=sin(iptr[i].x*i);     &lt;-----//mit f_eingeben() ausgewertet
  xr++;
 }
  delete[]iptr;
  return iptr;
 }
</code></pre>
<p>ich überlege mir die f_eingeben() als golable funktion zu definieren;<br />
aber ich weis nicht wie die in Dezim() bzw interp() aufrufen kann;<br />
also wenn man eine Idee für mich hat wie ich meine Aufgaben lösen kann dann bin sehr Dankbar.</p>
<p>Gruß</p>
<p>Sebleb</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289997/gnu-libmatheval-in-c-programm</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 19:44:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289997.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 Jul 2011 12:47:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GNU Libmatheval in C++ Programm on Sun, 17 Jul 2011 12:47:45 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>ich habe ein kleinclass geschrieben;zwei Methoden dieses Classes sollten Werte an X und y Pair in globale Struct zuweisen; num möchte ich die Werte durch eine Funktion, die ich über Konsole eingebe,erstmal auswerten und dafür benutze GNU Libmathavel(C- Bibleotheck) die der eingegebenen mathematischen Funktionen für spezifizierte variable Werte auswerten kann; ich habe sie in Funktionparser schön verwendet;<br />
Nun meine Frage wie Kann ich die in meiner classmathoden (dezim() gibt Funktionsplottwerte zurück und inter() liefer Funcktionstransmittwerte), verwenden;</p>
<p>hier ist die Funktionsparser code:</p>
<pre><code class="language-cpp">void f_eingeben(){

 char buffer[BUFFER_SIZE];
  int length;
  void *f;
  char **names;
  int count j,i;
  double X;
  double *x_f;
  cout &lt;&lt;&quot;f(x_f) = &quot;;
  cin.getline(buffer, BUFFER_SIZE);
  length = strlen (buffer);
  if (length &gt; 0 &amp;&amp; buffer[length - 1] == '\n')
    buffer[length - 1] = '\0';

  f = evaluator_create (buffer); /* Create evaluator for function.  */
  assert (f);
/* Print variable names appearing in function. */
  evaluator_get_variables (f,&amp;names, &amp;count);
  cout &lt;&lt;&quot; &quot; ;
  for (j = 0; j &lt; count; j++)
    // printf (&quot;%s &quot;, names[j]);
    cout &lt;&lt;'\n';

 double* y= new double [N_SAMPLES];
double X=0.001;
for(j=0;j&lt;=N_SAMPLES-1;j++){
    y[j]=evaluator_evaluate_x (f,X);  / Funktion evalutator_evaluate_x() zur Auswertung von f(x)
    X=X*j;
    // cout &lt;&lt;y_z[j]&lt;&lt;'\t'&lt;&lt; j&lt;&lt;'\n';
  }

 /* Destroy evaluators.  */
evaluator_destroy (f);
</code></pre>
<p>hier class.h</p>
<pre><code class="language-cpp">struct XYpair{
  double x;
  double y;
};

class INPUT{

 private:
  int psize;
  double xmin,xmax;
  XYpair* ptr;
  int intep;
  int dacrate;
  int ns;
public:
  void setvalue();
  XYpair* Dezim(int&amp; psize, XYpair* ptr);
  XYpair* Interp(int&amp; ns,  XYpair* ptr);
</code></pre>
<p>class.pp</p>
<pre><code class="language-cpp">XYpair* INPUT::Dezim(int&amp; psize, struct XYpair* ptr){

  double xr=xmax-xmin/psize;
  double X=0.0;
  int i;
  XYpair *dptr= new XYpair [psize];
  for(i=0;i&lt;psize;i++){
    dptr[i].x=X;
    dptr[i].y=sin(X);    &lt;-----//mit f_eingeben() ausgewertet
    X+=xr;
  }
  delete[]dptr;
  return dptr;
}

XYpair* INPUT::Interp(int&amp; ns, XYpair* ptr){

  double xr=(double)(intep*4/dacrate);
  XYpair *iptr;
  iptr=new XYpair[ns];
  int i;
  for(i=0;i&lt;ns;i++)
{
  iptr[i].x=xr;
  iptr[i].y=sin(iptr[i].x*i);     &lt;-----//mit f_eingeben() ausgewertet
  xr++;
 }
  delete[]iptr;
  return iptr;
 }
</code></pre>
<p>ich überlege mir die f_eingeben() als golable funktion zu definieren;<br />
aber ich weis nicht wie die in Dezim() bzw interp() aufrufen kann;<br />
also wenn man eine Idee für mich hat wie ich meine Aufgaben lösen kann dann bin sehr Dankbar.</p>
<p>Gruß</p>
<p>Sebleb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2093854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093854</guid><dc:creator><![CDATA[sebleb]]></dc:creator><pubDate>Sun, 17 Jul 2011 12:47:45 GMT</pubDate></item><item><title><![CDATA[Reply to GNU Libmatheval in C++ Programm on Sun, 17 Jul 2011 13:00:01 GMT]]></title><description><![CDATA[<p>Unabhängig von deiner Frage: das</p>
<pre><code class="language-cpp">delete[]dptr; 
  return dptr;
</code></pre>
<p>in deiner Dezim Funktion ist falsch und wird sehr schnell zu Problemen führen! Du darfst den Speicherbereich nicht mehr verwenden, wenn du ihn gelöscht hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2093863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093863</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 17 Jul 2011 13:00:01 GMT</pubDate></item><item><title><![CDATA[Reply to GNU Libmatheval in C++ Programm on Sun, 17 Jul 2011 13:03:53 GMT]]></title><description><![CDATA[<p>Kannst du das nochmals formulieren, vielleicht mit besser gewählten Satzzeichen? Hast du die Dokumentation der Funktionen gelesen, die du verwenden willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2093868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093868</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 17 Jul 2011 13:03:53 GMT</pubDate></item><item><title><![CDATA[Reply to GNU Libmatheval in C++ Programm on Sun, 17 Jul 2011 14:39:44 GMT]]></title><description><![CDATA[<p>ich möchte ein softwarebasierter Funktionsgenerator mit C++ entwicklen und dafür habe ich schönmal ein Funktionsplotter programmiert,mit dem kann ich die Funktion plotten bovor ich sie sende; Mit hilfe das GNU libmatheval kann man die mathamtisch Ausdrücke bzw Funktion auswerten lassen;<br />
schau mal bitte unter folgendem link</p>
<p><a href="http://www.gnu.org/s/libmatheval/manual/libmatheval.html" rel="nofollow">http://www.gnu.org/s/libmatheval/manual/libmatheval.html</a></p>
<p>hoffe dass es mir gelungen ist ,meine Aufgabe gut geschieldert zu haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2093889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2093889</guid><dc:creator><![CDATA[sebleb]]></dc:creator><pubDate>Sun, 17 Jul 2011 14:39:44 GMT</pubDate></item></channel></rss>