WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Unterschied von function Scilab/Matlab

 

paul777
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2015, 13:34     Titel: Unterschied von function Scilab/Matlab
  Antworten mit Zitat      
Hallo zusammen!

ich habe einen Code von Scilab und möchte diesen nun in Matlab anwenden. Ich scheitere bei der Definition der Funktionen in Matlab, kann mir da jemand weiterhelfen? ich wäre sehr dankbar!

Code:

function z=f(x, A, k) % WEIBULL-Verteilung
z=A*k*(A*x).^(k-1).*exp(-(A*x).^k)
endfunction
function z=L(x, A, k) % Likelihood-Funktion
z=prod(f(x,A,k))
endfunction
function z=fA(x, k) % Iterationsfunktion fuer A
z=(sum(x.^k)/nd)^(-1/k)
endfunction
function z=fk(x, A, k) % Iterationsfunktion fuer k
z=nd/(sum(((A*x).^k).*log(A*x)-log(x))-nd*log(A))
 
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.06.2015, 13:51     Titel:
  Antworten mit Zitat      
Hallo,

auf den ersten Blick würde ich sagen: entferne mal die endfunctions, und dann weitersehen.

Die Funktionen sollten jeweils in separate Dateien gespeichert werden, die den Namen der Funktion übernehmen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
paul777
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2015, 13:58     Titel:
  Antworten mit Zitat      
ja das ist mir auch aufgefallen. Es reicht auch aus wenn wir uns eine Funktion ansehen (z.B die erste), die Änderungen kann ich ja dann jeweils anpassen.

Ich würde es jetzt so schreiben:

Code:

function [z]=f(x, A, k);
 z=A*k*(A*x).^(k-1).*exp(-(A*x).^k);
end
 


ist so aber nicht richtig,

btw, wenn ich function verwende, dann sollte er mir doch eine m. Datei erstellen, sehe ich das richtig? Alternativ kann man natürlich diese Datei vorher erstellen und dann abrufen, wofür ich jedoch auch diesen Code benötige

Grüße,

paul777
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 11.06.2015, 14:18     Titel:
  Antworten mit Zitat      
Zitat:
ist so aber nicht richtig,

warum nicht? was für ein fehler tritt auf? eigendlich ist das in der doc recht gut erklärt.
Zitat:
btw, wenn ich function verwende, dann sollte er mir doch eine m. Datei erstellen, sehe ich das richtig?

verstehe ich nicht. die datei wird erstellt wenn du den code speicherst. nicht wenn du nur irgendwo function hinschreibst.
der name der datei ist dann f.m
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
paul777
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2015, 14:32     Titel:
  Antworten mit Zitat      
Zitat:
warum nicht? was für ein fehler tritt auf? eigendlich ist das in der doc recht gut erklärt.


als Fehler gibt er mir nun an, wenn ich eine f.m file erstellen möchteUndefined function or variable 'A'.

Ja, aus der Doku geht folgende Syntax hervor:
Code:
function a = mymean(v,n)
% MYMEAN Example of a local function.

a = sum(v)/n;
end


Die ich doch so jetzt übernommen habe?!
Aber man kann doch sicherlich function im Editor verwenden, sodass nach erfolgreicher Definierung, woran es ja gerade scheitert, ein .m file erstellt wird.
Private Nachricht senden Benutzer-Profile anzeigen
 
paul777
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2015, 14:39     Titel:
  Antworten mit Zitat      
Ok sry hat sich erledigt Very Happy ich war einfach mal wieder zu voreilig die Funktionen können wie du gesagt hast einfach definiert werden. (Habs mal mit Beispielwerten probiert).

Vielen Dank! Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 11.06.2015, 15:00     Titel:
  Antworten mit Zitat      
Ganz allgemein ist der Technische Support von MathWorks immer gerne bereit den Umstieg auf MATLAB zu unterstützen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.