www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 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
Forum "Matlab" - Funktion mehrere Variablen
Funktion mehrere Variablen < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Funktion mehrere Variablen: Aufgabe , Lösungsidee gesucht
Status: (Frage) beantwortet Status 
Datum: 00:51 Do 05.03.2015
Autor: stevinho

Aufgabe
Gegeben ist eine Funktion abhängig von 3 variablen :
f( x , mü , theta) = 1/sqrt (2pi*theta) * exp ( ( [mm] x-mü)^2 /2*theta^2) [/mm]
Dabei soll x ein vektor und mü bzw theta skalare sein

Die funktion soll die nummer der eingegebenen variablen checken und error ausgeben falls was nicht stimmt

Dazu soll wenn für x nur eine zahl eingegeben wir angenommen werden, dass mü =0 & theta=1

Wenn für x 2 zahlen eingegeben werden soll theta=1 sein

Hallo alle zusammen,
Ich bin relativ neu bei matlab und lerne das programm grade auf einer englischsprachigen universität, was es nicht grade einfacher macht das programm zu verstehen.

Wie oben bereits beschrieben soll eine funktion entwickelt werden. Da ich leider nur" die basics" dsr funktionen erstellung habe komme ich nicht wirklich weiter mit den ganzen zusätzlichenen bedingungen.

Bisher bin ich soweit alle varriablen einlesen zu können doch die weiteren bedingungen fallen mit etwas schwer:

function [ dist ] = NormDist(x, mü, theta)
x=zeros(1,100)
cnt=0
  while 1
     Cnt=cnt+1
     x(cnt)=input('......')
  if x=   ;   %kann man diese bedingung so schreiben?
    break
end
x=(1:cnt)

mü= input('......')
theta=input'......')

Ich hoffe alles ist soweit verständlich und ich bedanke mich schonmal für eure hilfe!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Mit besten grüßen,
                      Stevinho


        
Bezug
Funktion mehrere Variablen: Antwort
Status: (Antwort) fertig Status 
Datum: 14:20 Do 05.03.2015
Autor: Al-Chwarizmi


> Gegeben ist eine Funktion abhängig von 3 variablen :
>   f( x , mü , theta) = 1/sqrt (2pi*theta) * exp ( (
> [mm]x-mü)^2 /2*theta^2)[/mm]
>   Dabei soll x ein vektor und mü bzw
> theta skalare sein



Hallo stevinho und herzlich    [willkommenmr]

Obwohl es bei deiner Frage nicht wirklich um den
Funktionsterm von f selber geht, vermute ich, dass du
ihn wohl nicht ganz genau wiedergegeben hast.
Es sollte wohl die Dichtefunktion der Normalverteilung
sein, die man üblicherweise so notiert:

     [mm] $\frac{1}{\sqrt{2\pi\sigma^2}}\operatorname{exp}\left\{-\frac{\left(x-\mu\right)^2}{2\sigma^2}\right\}$ [/mm]

Ich denke, dass du oben etwas verwechselt hast bzw. x in zwei
unterschiedlichen Bedeutungen verwendest. Das "eigentliche" x
der Dichteformel ist ein Skalar, kein Vektor. (Oder aber:
Falls x wirklich auch ein Vektor sein sollte, müsste auch
[mm] \mu [/mm] einer sein)


> Die Funktion soll die nummer ("number" = Anzahl) der
> eingegebenen Variablen checken und Error ausgeben falls
> was nicht stimmt.
> Dazu soll wenn für x nur eine Zahl eingegeben wird
> angenommen werden, dass mü =0 & theta=1

Jetzt meinst du mit x eigentlich den "Vektor", der aus den
sämtlichen Eingabeparametern besteht. Ich bezeichne diesen
gesamten Eingabevektor nun lieber mit einem großen "X".
Hat X nur eine einzige Komponente [mm] X_1 [/mm] , so soll dies das x
sein und dann [mm] \mu=0 [/mm]  und  [mm] \sigma=1 [/mm] . Hat X zwei Kompo-
nenten, so soll  [mm] x:=X_1 [/mm] und [mm] \mu:=X_2 [/mm]  und  [mm] \sigma:=1 [/mm]  sein.
Hat X die vollen (und maximal erlaubten) 3 Komponenten,
so sei  $\ [mm] x:=X_1$ [/mm] ,  $\ [mm] \mu:=X_2$ [/mm] ,  $\ [mm] \sigma:=X_3$ [/mm] .  

  

> Wenn für x 2 zahlen eingegeben werden soll theta=1 sein
>  Hallo alle zusammen,
>  Ich bin relativ neu bei matlab und lerne das programm
> grade auf einer englischsprachigen universität, was es
> nicht grade einfacher macht das programm zu verstehen.

Ich arbeite momentan gar nicht mit Matlab, versuche aber
trotzdem mal, grundsätzliche Tipps zu geben.
Ich würde so anfangen, dass ich den Variablen [mm] \mu [/mm] und [mm] \sigma [/mm]
zuerst die Standardwerte (default values) [mm] \mu:=0 [/mm] , [mm] \sigma:=1 [/mm]
zuordne. Dann wird der Inputvektor X (mit zunächst beliebig
vielen Komponenten) eingelesen. Von diesem wird dann die
Dimension n (Anzahl der Komponenten) bestimmt. Falls n=0
oder n>3 , wird eine Fehlermeldung ausgegeben und die
Rechnung abgebrochen. Andernfalls wird dann für die
Werte i:= 1 .. n die Zuordnung gemacht:  [mm] x:=X_1 [/mm]  und
dann (eventuell) [mm] \mu:=X_2 [/mm]  ,  [mm] \sigma:=X_3 [/mm] .

  

> Wie oben bereits beschrieben soll eine Funktion entwickelt
> werden. Da ich leider nur" die basics" der Funktionen-
> erstellung habe, komme ich nicht wirklich weiter mit den
> ganzen zusätzlichenen Bedingungen.
>
> Bisher bin ich soweit alle Variablen einlesen zu können
> doch die weiteren Bedingungen fallen mit etwas schwer:
>
> function [ dist ] = NormDist(x, mü, theta)
>  x=zeros(1,100)
>  cnt=0
>    while 1
>       Cnt=cnt+1
>       x(cnt)=input('......')
>    if x=   ;   %kann man diese bedingung so schreiben?
>      break
>  end
>  x=(1:cnt)
>  
> mü= input('......')
>  theta=input'......')


Sorry, dass ich bei den Matlab-spezifischen Dingen im
Moment nicht helfen kann ...
Eventuell werde ich trotzdem versuchen, einen kleinen Entwurf
zu machen. Übrigens gibt es in Matlab die Möglichkeit,
Funktionen zu definieren, deren Argumentliste eine
variable Größe haben darf. Schau mal unter dem Stichwort
"Matlab varargin"

LG  ,   Al-Chwarizmi

LG ,   Al-Chwarizmi

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


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]