|
|
Hilfe zur Fkt. Berechnung |
|
Gast_Denny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.09.2012, 15:06
Titel: Hilfe zur Fkt. Berechnung
|
 |
Guten Tag,
ich habe eine Frage zu einer Fkt., die ich in Matlab integrieren soll.
Numerische Integration
Y(i) = yi-1 * (ti - ti-1)
Meine Frage dazu wäre, ob es möglich ist, einen Tip zu bekommen, wie ich diese Formel in Matlab integrieren kann.
Ich habe es bereits mit einer for-Schleife versucht, aber irgendwo hängt es.
Eingabewerte für y und t wurden bereits programmiert.
Bei "i" handelt es sich um den jeweiligen Index des Elements von y bzw. t.
Wäre schön, wenn jemand einen Tip abgeben könnte bzw. mir helfen würde.
Danke .... MfG
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.09.2012, 15:55
Titel: Re: Hilfe zur Fkt. Berechnung
|
 |
Hallo Gast_Denny,
Wenn es an Deinem Code "irgendwo hängt", poste doch mal den Code und beschreibe, wo es hängt mit den notwendigen Details. Dann würden unsere Vorschläge wohl viel wahrscheinlicher zu Deinem Code passen.
Gruß, Jan
|
|
|
Gast_Denny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.09.2012, 15:56
Titel:
|
 |
Ich werde versuchen meine Frage konkreter darzustellen.
Ich habe mit "input" 2 Anweisungen erstellt, die zum Eingeben eines y-Wertes und eines t-Wertes auffordern.
y = input
t = input
Dazu habe ich Ausgabeparameter erstellt, die mit disp ausgegeben werden
disp(Y)
disp(T)
Nunn soll folgende Fkt. berechnet werden, die mit den Eingabeparametern bestückt wird.
Wobei "i" der Index der Durchläufe darstellt.
Y(i) = y(i-1) * ( t(i) - t(i-1) )
Ich hab es schon mit einer for-Schleife versucht und mit einer Fkt. Aber irgendwie passt es immer nicht.
Wäre sehr nett, wenn mir jemand einen Tipp geben könnte bzw. mir helfen würde.
Ich hoffe, ich habe meine Fragestellung besser darstellen können.
|
|
|
Gast_Denny |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.09.2012, 15:58
Titel:
|
 |
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.09.2012, 17:08
Titel:
|
 |
|
 |
|
Hallo Gast_Denny,
Zitat: |
Nunn soll folgende Fkt. berechnet werden, die mit den Eingabeparametern bestückt wird.
Wobei "i" der Index der Durchläufe darstellt. |
Hier muss ich einige Phantasie aufwenden um zu erraten, was Du meinst.
Zitat: |
Ich hab es schon mit einer for-Schleife versucht und mit einer Fkt. Aber irgendwie passt es immer nicht. |
Dieses Forum kann Fehler sehr gut lösen, aber es ist schlecht beim Erraten von Fehlern. Während Du den Fehler oder die Probleme direkt vor der Nase hast, haben wir keine Ahnung was passiert. "Passt irgendwie nicht" ist nicht hilfreich. Bitte beschreibe statt dessen was genau passiert und wodurch sich dies von Deinen Erwartungen unterscheidet.
Zitat: |
%Erstelln Sie in Matlab eine Funktion, ... |
Eine Funktion muss in Matlab mit dem Keyword "function" beginnen, ansonsten ist es ein "script". Zunächst mag der Unterschied nebensächlich klingen, aber für einen tieferen Einstie in Matlab ist die Unterscheidung essentiell.
Wie kommst Du dazu das Script(!) mit "clear;clc;close all;" zu starten? Ich bin immer wieder verwundert darüber, wo Matlab-Beginner diese kruden Aufräum-Methoden bekommen. Ohne Frage ist es aber eine gute Idee, zumindest auf "clear all" zu verzichten ;-)
Und nun zur eigentlichen Frage:
Einerseits hast Du die Beschreibung:
Zitat: |
Y(i) = y(i-1) * ( t(i) - t(i-1) ) |
Andererseits den Code:
Da fehlt doch im Code der Index "(i)" bei Y! Deshalb überschreibst Du den Wert von Y in jeder Iteration.
Aber es gibt ein weiteres Problem im Code:
"y = i-1"? Hier wird auch noch der Input-Vektor "y" überschrieben.
Ich schlage vor, der Text-Beschreibung zu folgen:
Diese Schleife startet erst bei 2, statt bei 1. Wieso? Wie bekommst Du aus dem Output "yout" (optisch besser unterscheidbar als "y" und "Y") nun das approximierte Intergral?
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|