Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich soll den arctan(x) aus der Summenformel

berechnen für -1<=x>=1

Dabei soll ich weder math.h verwenden noch pow.

Ich hab mir gedacht das ich die Potenzen mittels einer Rekursion berechnen kann, nur sind in dieser Formel zwei Potenzen, muss ich dann dafür zwei Schleifen aufmachen?

und das 2k+1 geht das dann so?

int potenz (int x, int k)

{

int i;

int e=x;

for (i=2; i<=2k+1; i+=1)

{

e=e*x;

}

return e;

}

Für die Summe habe ich mal im Web geschaut und mir folgendes zusammengebastelt:

long summe(long a[], long n){

long s=0, i;

for(i=0; k<n; ++i)

s+=a;

return s;

}

Wobei ich Schwierigkeiten habe ist wie gesagt allgemein ob da so geht und wie ich die Potenzen in die Summe einbauen kann? wie mein Name schon sagt hab ich noch nicht sehr viel Erfahrung mit C (1.Semester) und es wäre lieb wenn ihr mir das wie einem Baby erklären könntet :confused:

Ich hoffe ihr könnt mir helfen:)

Von einer Rekursion für eine einfache Potenzfunktion rate ich ab, denn alleine der Overhead für Rücksprung auf dem Stack rechtfertigt das nicht. Zusätzlich kann man eine Potenz durch eine simple Bedingung eliminieren. Durch etwas geschickte Umformung kann man die Summenfunktion, inkl. des Faktors und der Potenz zerlegen, so dass man die gesamte Funktion für ein n und ein n+1 schnell berechnen kann

Benutze generell bitte die Codetags

Danke für deine Antwort :)

Aber das sagt mir jetzt noch nicht viel. Du meinst also ich solle erst die Sumenformel vereinfachen und dann auf eine Rekursion zurückgreifen? Wie kann ich eine Summe vereinfachen, könntes du mir einen Tip/Ansatz geben?

Wie sieht das allgemein mit der Summeprogrammierung aus die ich mir da zusammengesucht habe?

Also ich könnte natürlich die Summe in drei Einzelne zerlegen und dann jeweils eine eigene Funktion verwenden und die am Ende zusammenziehen?

Und für jede dieser Funktion vorher eine zugehörige Rukursion?

Ich hatte von einer Rekursion komplett abgeraten. Man kann die genannte Summe mathematisch (!) so vereinfachen, dass man daraus eine Folge machen kann und zu einem n mit relativ wenig Rechenaufwand das n+1 Element errechnen kann.

Das ganze algorithmisch umzusetzen ist der nachfolgende Schritt und man kann dies komplett mit Schleifen realisieren, wobei man eben diese sehr einfach gestalten kann, wenn man zuerst mathematisch vereinfacht hat

Ja das Ding ist nur, das wir "offiziell" Reihen und Folgen in Mathe noch nicht behandelt haben. D.h. wenn ich das anwende werde ich nicht volle Punkte bekommen. Es muss also auch einen anderen,einfacheren Weg geben...

Es muss also auch einen anderen,einfacheren Weg geben...

Die Vereinfachung ist optional um den Rechenaufwand zu verringern. Ansonsten nimmt man eine Schleife und iteriert, entweder so lange bis Konvergenz eintritt oder der Zahlenbereich nicht mehr genau auflöst oder eben bis zu einem festen n. Letztendlich ist das aber mathematisch betrachtet eine Reihe.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.