matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabFunktion plotten
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Matlab" - Funktion plotten
Funktion plotten < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Funktion plotten: keine Idee
Status: (Frage) beantwortet Status 
Datum: 16:17 Do 25.04.2013
Autor: mikexx

Aufgabe
Hallo, es ist gegeben [mm] $f(x)=x\cdot\sin(x)$ [/mm] und man soll in Matlab die Funktion [mm] $F(x)=\int\imits_0^x f(\xi)\, d\xi$ [/mm] plotten.



Ich habe das eigentlich so vorgehabt:

1: t=linspace(0,2*pi,100);
2: h=@(t)quad(@(m)m.*sin(m),0,t);
3: plot(t,h(t));


Aber das geht nicht...

Die Fehlermeldung lautet:

1: Error using quad
2: The limits of integration must be scalars.
3:
4: Error in @(t)quad(@(m)m.*sin(m),0,t)



Kann mir jemand helfen, bitte?


        
Bezug
Funktion plotten: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:25 Do 25.04.2013
Autor: mikexx

Offenbar ist doch der Fehler, daß t Vektor ist, aber Skalar sein muss, weil t die obere Integrationsgrenze ist und diese muss Skalar sein.

Dann muss ich die Funktion F wohl doch anders setzen?

Bezug
        
Bezug
Funktion plotten: Antwort
Status: (Antwort) fertig Status 
Datum: 17:28 Do 25.04.2013
Autor: reverend

Hallo mikexx,

da ich von Matlab keine Ahnung habe, aber integrieren kann, würde ich wie folgt vorgehen:

> Hallo, es ist gegeben [mm]f(x)=x\cdot\sin(x)[/mm] und man soll in
> Matlab die Funktion [mm]F(x)=\int\imits_0^x f(\xi)\, d\xi[/mm]
> plotten.

Einfach das bestimmte Integral ausrechnen:
[mm] F(x)=\sin{(x)}-x\cos{(x)} [/mm]

Und dann kannst Du plotten.

> Ich habe das eigentlich so vorgehabt:

>

>
1: t=linspace(0,2*pi,100);
2: > h=@(t)quad(@(m)m.*sin(m),0,t);
3: > plot(t,h(t));


>

> Aber das geht nicht...

>

> Die Fehlermeldung lautet:

>

>
1: Error using quad
2: > The limits of integration must be scalars.
3: >
4: > Error in @(t)quad(@(m)m.*sin(m),0,t)


...da dann ja keine Variablen als Integrationsgrenzen mehr auftauchen.

Ich lasse die Frage halboffen, falls noch jemand eine für Matlab spezifische Vorgehensweise weiß.

Grüße
reverend

Bezug
                
Bezug
Funktion plotten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:43 Do 25.04.2013
Autor: mikexx


>  ...da dann ja keine Variablen als Integrationsgrenzen mehr
> auftauchen.
>  

Wie meinst Du das?

Bezug
                        
Bezug
Funktion plotten: Antwort
Status: (Antwort) fertig Status 
Datum: 18:23 Do 25.04.2013
Autor: reverend

Hallo nochmal,

> > ...da dann ja keine Variablen als Integrationsgrenzen mehr
> > auftauchen.

>

> Wie meinst Du das?

Entweder Du hast meine Antwort nicht überlegt oder ich verstehe Deine Frage nicht oder beides.

Bisher war das Problem, das Matlab von Dir eine "Zahl" als Integrationsgrenze haben wollte. Da jetzt keine Integral mehr vorliegt, gibt es das Problem auch nicht mehr, Du hast einfach nur noch eine Funktion von x.

Grüße
reverend

Bezug
                                
Bezug
Funktion plotten: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:29 Do 25.04.2013
Autor: mikexx

Okay, ich glaub aber nicht, daß wir das so machen dürfen.

Der Witz ist ja grad, daß man nicht irgendwie erst integrieren soll und daß Matlab das für einen macht...

Bezug
                                        
Bezug
Funktion plotten: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:40 Do 25.04.2013
Autor: reverend

Hallo nochmal,

> Okay, ich glaub aber nicht, daß wir das so machen
> dürfen.

Bedauerlich.

> Der Witz ist ja grad, daß man nicht irgendwie erst
> integrieren soll und daß Matlab das für einen macht...

Dann würde ich eine Schleife über x laufen lassen, in hinreichend kleinen Intervallen. Das sollte doch in jedem Fall gehen.

Grüße
reverend

Bezug
                                                
Bezug
Funktion plotten: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:51 Do 25.04.2013
Autor: mikexx

Ich warte lieber auf meine matlabspezifischere Antwort.

Bezug
        
Bezug
Funktion plotten: Antwort
Status: (Antwort) fertig Status 
Datum: 19:12 Do 25.04.2013
Autor: wieschoo

Moin


> Ich habe das eigentlich so vorgehabt:

>

>
1: t=linspace(0,2*pi,100);
2: > h=@(t)quad(@(m)m.*sin(m),0,t);
3: > plot(t,h(t));


Weißt du überhaupt, was linespace macht?

>

> Aber das geht nicht...

Stimmt!
>

> Die Fehlermeldung lautet:

>

>
1: Error using quad
2: > The limits of integration must be scalars.
3: >
4: > Error in @(t)quad(@(m)m.*sin(m),0,t)


>
Du übergibst der Funktion h einen Vektor. Bei den eigen definierten Funktionen wirkt die Funktion nicht auf die Einträge einzeln.

Meintest du vielleicht:
1:
2: h=@(t)quad(@(m)m.*sin(m),0,t);
3: t=1:1:100;
4: for i=1:100, j(i)=h(t(i));end
5: plot(t,j);

?

Eigentlich sollte (Maple)
[Dateianhang nicht öffentlich]
herauskommen. Matlab erstellt
[Dateianhang nicht öffentlich]
.

Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Anhang Nr. 2 (Typ: PNG) [nicht öffentlich]
Bezug
                
Bezug
Funktion plotten: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:18 Do 25.04.2013
Autor: mikexx

So meinte ich das schon.

Zwei Fragen habe ich aber noch:

Wieso eignet sich denn linespace(0,2*pi,100) nicht?

Das erzeugt doch einen Vektor, beginnend mit dem Eintrag 0, endend mit dem Eintrag 0 und insgesamt 100 Punkte mit identischem Abstand.

Oder hast Du die for-Schleife genommen, damit man die Einträge besser durchzählen kann (mit dem Zähler)?

----

Kann man das Ganze irgendwie auch anders machen?
Dieses function-handling ist vielleicht hier viel zu übertrieben und unnötig?

Bezug
                        
Bezug
Funktion plotten: Antwort
Status: (Antwort) fertig Status 
Datum: 21:16 Do 25.04.2013
Autor: wieschoo

Es geht noch:
n=100;t=[1;1]*linspace(0,2*pi,n);for i=1:n,t(2,i)=quad(@(m)m.*sin(m),0,t(2,i));end;plot(t(1,:),t(2,:))
Da brauchst du kein h und hast dein Linespace drin.

Bezug
                                
Bezug
Funktion plotten: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:19 Do 25.04.2013
Autor: mikexx

Ich dank Dir!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]