Hi Leute, ich muss mit einem PIC den natürlichen Logarithmus berechnen. Leider gibt es im C18-C-Compiler keine entsprechende Funktion auch nicht log(x) oder log10(x). Weiß von euch jemand wo ich mir den Code für die Berechnung des ln() runterladen kann? mfg BassJunky
:
Gesperrt durch Moderator
hi, hab auch mal für PIC16 x hoch y gebraucht und bin über logarithmen gegangen. ;Natuerlicher Logarithmus AARG -> AARG ; ; n->oo ; ----- / \ ; \ 1 | x-1 | 2n+1 ; ln(x) = 2 > ---- * | ----- | ; / 2n+1 | x+1 | ; ----- \ / ; n=0 ; Das funktionierte, war aber wirklich dämlich zu programmieren. Ewig dieses banking.. Seitdem kommt kein PIC mehr in neue Projekte. Reiner
Hallo das ist meine Aufgabe leider habe ich nicht so richtig den Ansatz und werde mir auf Hilfestellungen freuen
Julian Lindemeyer schrieb: > das ist meine Aufgabe Bitte die Frage in einem neuen Thread mit ein paar Anpassungen nochmal stellen. Und nicht zig uralte Threads ausgraben!!! > leider habe ich nicht so richtig den Ansatz Dann zeig mal deinen falschen Ansatz und beschreibe, wo es klemmt. Dann hat man was zu diskutieren. > PA2_48.pdf_ Besser ohne den letzten Unterstrich anhängen, denn mit einer "PDF_" Datei kann niemand was anfangen.
:
Bearbeitet durch Moderator
Beitrag "Programmiersprache C; natürlicher Logarithmus" Müsst ihr alle die gleiche Aufgabe machen??? Anstatt einen Thread von 2003 auszukramen solltest du mal die Suchfunktion nutzen. Ich habe keine Ahnung von ln() programmieren ohne math.lib aber ich habe dank Google Suche und der Suche hier im Forum eine mögliche Lösung gefunden!
Das ist eine Hausaufgabe. Lies die Aufgabenstellung noch mal un Ruhe durch. Da steht sogar wie du die Aufgabe zu lösen hast. Es geht um die Berechnung konvergierender Reihen und die Reihe des ln ist sogar mit in der Aufgabenstellung angegeben. Vor einer Hausaufgabe kommt üblicherweise Unterricht/Vorlesung. Da werdet ihr die nötigen Themen durchgesprochen haben. Sonst gibt es bestimmt Unterrichtsmaterialien, Buch, Skript, ... Selbst wenn du das jetzt nicht in C schreiben kannst, dann schreibe es zumindest mal so auf, wie du es per Hand rechnen würdest. Edit: Auch wenn man hier oder sonst wo eine Lösung einfach finden kann, man sollte solche Aufgaben schon selber machen. Habt ihr denn nicht den Anspruch an euch selbst etwas zu verstehen?
:
Bearbeitet durch User
Julian Lindemeyer schrieb: > leider habe ich nicht so richtig den Ansatz und werde mir auf > Hilfestellungen freuen Dieses Risiko würde ich an deiner Stelle nicht eingehen. Auf der letzten Seite der Aufgabenstellung steht nämlich geschrieben:
1 | Sie sollen diese Projektaufgaben selbstständig bearbeiten und lösen. |
2 | Alle Lösungen, die aus der Betrachtung des Quellcodes und dem Vergleich |
3 | mit anderen abgegeben Lösungen vermuten lassen, dass die Bearbeitung |
4 | nicht eigenständig durch Sie selbst erfolgte, werden mit 0 Punkten |
5 | bewertet oder zumindest stark abgewertet. Diese Abwertung betrifft auch |
6 | diejenigen Lösungen, die als Quelle für andere abgegebene Lösungen |
7 | vermutet werden können. |
Yalu X. schrieb: > Auf der letzten Seite der Aufgabenstellung steht nämlich geschrieben... Du hast tatsächlich den Unterstrich vom Dateinamen weggemacht? Gnadenlos neugierig, wenns um Mathe geht... ;-)
Lothar M. schrieb: > Yalu X. schrieb: >> Auf der letzten Seite der Aufgabenstellung steht nämlich geschrieben... > Du hast tatsächlich den Unterstrich vom Dateinamen weggemacht? Gnadenlos > neugierig, wenns um Mathe geht... ;-) Lothar, also ich kann das PDF auch ganz normal öffnen ohne den Unterstrich wegzumachen.
1 | Achtung: Bevor Sie eine Lösung für diese Projektaufgabe abgeben, sollten Sie |
2 | sicher sein, dass Sie in der Lage sind, die Programmierung Ihrer Lösung dem |
3 | Praktikumsbetreuer erklären zu können, und zwar derart, dass keine Zweifel |
4 | daran entstehen, dass Sie die Lösung selbständig erarbeitet haben. |
5 | Bitte beachten Sie den nachfolgenden Abschnitt 2! |
:
Bearbeitet durch User
Ich weiß, ich bin böse, aber: In der Aufgabenstellung steht ziemlich genau drin, was gemacht werden soll. Wenn ein STUDENT(!) das nicht alleine(!) auf die Reihe kriegt, liegt etwas ganz gewaltig im Argen. Besonders, wenn es nicht nur um kleinere Deilailprobleme geht, sondern ganz allgemein 'irgendwie nicht so richtig ein Ansatz' vorliegt.
:
Bearbeitet durch User
Ich will jetzt keine Grundsatzdiskussion vom Zaun brechen, aber ... hier https://faculty.utrgv.edu/eleftherios.gkioulekas/OGS/Misc/ARUSSIAN.PDF wurde schon vor einiger Zeit beschrieben in welche Richtung es mit der Bildung geht. SCNR, ich muss den Text einfach immer wieder verlinken.
> Wenn ein STUDENT(!) das nicht alleine(!) auf die Reihe kriegt, liegt > etwas ganz gewaltig im Argen. Ach komm...wir hatten damals auch eine Abbrecherquote von 80%. Bloss sind die frueher halt einfach leise gegangen und haben nicht erst im Internet nach Abschreibequellen gesucht. Olaf
Max B. schrieb: > Lothar, also ich kann das PDF auch ganz normal öffnen ohne den > Unterstrich wegzumachen. Wie schön für dich. Wahrscheinlich kannst du auch jeden C-Compiler mit .txt-Dateien füttern.
Max B. schrieb: > Müsst ihr alle die gleiche Aufgabe machen??? Mußten alle seit 2003 die gleiche Aufgabe lösen??? Früher gabs mal Sammlungen von Klausuraufgaben mit Lösungen!! Heute wohl nicht mehr :-) Gruß Rainer
Wolfgang schrieb: > Max B. schrieb: >> Lothar, also ich kann das PDF auch ganz normal öffnen ohne den >> Unterstrich wegzumachen. > > Wie schön für dich. > Wahrscheinlich kannst du auch jeden C-Compiler mit .txt-Dateien füttern. Hast du schlecht gefrühstückt oder warum kackst du mich so an? Ich habe dem Lothar lediglich gesagt, dass ich das PDF so wie es ist öffnen kann. Was das mit C und .txt zu tun haben soll erschließt sich mir nicht. Hauptsache mal andere Leute ans Bein pissen....
BassJunky schrieb: > Weiß von euch jemand wo ich mir den Code für die Berechnung des ln() > runterladen kann? Julian Lindemeyer schrieb: > PA2_48.pdf_ (876 KB, 53 Downloads) Du scheinst grundlegende Probleme beim Verständnis der Aufgabenstellung zu haben. Lies mal den ersten Satz im Abschnitt /1.2 Aufgabenstellung/. Da steht "Entwickeln Sie ein C Programm zur Berechnung des natürlichen Logarithmus.". Von runterladen ist dort nichts erwähnt.
Olaf schrieb: > Ach komm...wir hatten damals auch eine Abbrecherquote von 80%. Ja, da hast Du natürlich recht. Gustl B. schrieb: > Ich will jetzt keine Grundsatzdiskussion vom Zaun brechen, aber ... ...die ergibt sich bei so einer Art von Frage zwangsläufig von ganz alleine.
Wolfgang schrieb: > BassJunky schrieb: >> Weiß von euch jemand wo ich mir den Code für die Berechnung des ln() >> runterladen kann? > > Julian Lindemeyer schrieb: >> PA2_48.pdf_ (876 KB, 53 Downloads) > > Du scheinst grundlegende Probleme beim Verständnis der Aufgabenstellung > zu haben. Lies mal den ersten Satz im Abschnitt /1.2 Aufgabenstellung/. > Da steht "Entwickeln Sie ein C Programm zur Berechnung des natürlichen > Logarithmus.". Von runterladen ist dort nichts erwähnt. Du antwortest gerade dem TO mit seiner Frage vom 24.03.2003. Respekt Wolfgang....Respekt!!!
M.A. S. schrieb: > ...die ergibt sich bei so einer Art von Frage zwangsläufig von ganz > alleine. Und wo wir schon dabei sind: Die Dateiendung hat nichts mit dem Inhalt der Datei zu tun. Dummerweise/Praktischerweise verwenden einige Betriebysteme diese Endung um Programme Dateitypen zuzuordnen. Man könnte aber viel geeigneter auch die ersten paar Bytes angucken und denn entscheiden welches Programm zuständig ist. Bei PDF ist das 0x25 0x50 0x44 0x46. Noch witziger wird es durch Gewöhnung. Leute haben sich angewohnt, dass die Endung aussagt welcher Dateityp das ist. Völlig beknackt, aber irre praktisch - auch für Trojanerschreiber die dann eben statt .exe ein .pdf schreiben. Und noch besser ist die Windows Defaulteinstellung, die diese Endungen sogar ausblendet. Da sieht der Benutzer also die Endung nach dem letzten . nicht mehr. Wenn jetzt also eine Datei Trojaner.pdf.exe heißt, dann sieht der Benutzer Trojaner.pdf. Tolle Sache und großes Lob an alle Beteiligten.
:
Bearbeitet durch User
Moin, Weil ich heut' ne janz fiese moepp bin, hier eine Loesungsmoeglichkeit:
1 | #include <stdio.h> |
2 | |
3 | float lnp1(float x) { |
4 | float lastrc = -1.0; |
5 | float rc = 0.0; |
6 | float xp = x; |
7 | int sign = 1; |
8 | int k = 1; |
9 | |
10 | while ((lastrc != rc) && k) { |
11 | lastrc = rc; |
12 | rc = rc + sign * xp / k; |
13 | k++; |
14 | xp *= x; |
15 | sign = -sign; |
16 | }
|
17 | return rc; |
18 | }
|
19 | |
20 | float ln(float x) { |
21 | if (x<=2.0) { |
22 | x -= 1.0; |
23 | return lnp1(x); |
24 | } else { |
25 | x -= 1.0; |
26 | x = -x / (1.0 + x); |
27 | return -lnp1(x); |
28 | }
|
29 | }
|
30 | |
31 | int main() { |
32 | int i,n; |
33 | float x; |
34 | |
35 | scanf("%d",&n); |
36 | for (i = 0; i < n; i++) { |
37 | scanf("%f", &x); |
38 | printf("%f\n", ln(x)); |
39 | }
|
40 | return 0; |
41 | }
|
SCNR, WK
Gustl B. schrieb: > Und noch besser ist die Windows Defaulteinstellung, die diese Endungen > sogar ausblendet. Da sieht der Benutzer also die Endung nach dem letzten > . nicht mehr. Diese Option kann man zum Glück ausschalten (was ich grundsätzlich mache, ich will immer alle Dateiendungen sehen).
Dominik K. schrieb: > Du antwortest gerade dem TO mit seiner Frage vom 24.03.2003. Nein, ich habe auf die Aufgabenstellung in dem verlinkten PDF geantwortet, gerade mal 1h57m alt. Man könnte sich natürlich fragen, warum Julian einen 16 Jahre alten Thread hervorkramt, oder nach welchen Gesichtspunkten die Forensoftware die Warnung bei Antworten auf alte Threads einblendet.
Wolfgang schrieb: > Dominik K. schrieb: >> Du antwortest gerade dem TO mit seiner Frage vom 24.03.2003. > > Nein, ich habe auf die Aufgabenstellung in dem verlinkten PDF > geantwortet, gerade mal 1h57m alt. > Doch! Julian hat nicht gefragt wo man den Code runterladen kann, sondern BassJunky. Und der hat mit dem PDF und deren Aufgabenstellung nix zu tun!!! Aber egal...
:
Bearbeitet durch User
Gustl B. schrieb: > Die Dateiendung hat nichts mit dem Inhalt der Datei zu tun. > Dummerweise/Praktischerweise verwenden einige Betriebysteme diese Endung > um Programme Dateitypen zuzuordnen. Und auch die Forensoftware: mit der korrekten Endung gibt ein paar nette Gimmicks. Das gilt auch für *.c und *.h und *.ino und ein paar andere Dateien. Max B. schrieb: > Lothar, also ich kann das PDF auch ganz normal öffnen ohne den > Unterstrich wegzumachen. Weil das von dir verwendete OS offenbar elementare Userfehler, die IMHO eines Technikers nicht würdig sind, ausbügelt. Wolfgang schrieb: > nach welchen Gesichtspunkten die Forensoftware die Warnung bei Antworten > auf alte Threads einblendet. Danach, dass die letzten paar Posts des Threads uralt sind. Wenn er dann mal reanimiert wurde, gibt sie auf... ;-) Max B. schrieb: > Julian hat nicht gefragt wo man den Code runterladen kann, sondern > BassJunky. Und der hat mit dem PDF und deren Aufgabenstellung nix zu > tun!!! Aus diesem Grund: neuer Thread für neues Problem.
:
Bearbeitet durch Moderator