主要内容

模具Übersetzung柴油机站点veraltet。Klicken Sie hier,嗯die neueste版本auf english zu sehen。

脚本和Funktionen

Uberblick

MATLAB®stellt eine leistungsstarke Programmiersprache and eine interaktive Rechnerumgebung zur Verfügung。Sie können Befehle der Sprache nacheinander in die Befehlszeile von MATLAB ein oder eine Reihe von Befehlen in eine Datei schreiben, die Sie anschließend ausführen wie jede andere Funktion von MATLAB。Verwenden Sie den MATLAB编辑器oder einen beliebigen anderen Texteditor,嗯Ihre eigenen Funktionsdateien zu erstellen。如芬你的diese Funktionen wie alle anderen MATLAB Funktionen oder Befehle auf。

Es gibt zwei Arten von programme:

  • Skripts, die keine eingabearguente akzeptieren bzw。keine Ausgabeargumente zurückgeben。这是我的错,我的错,我的错。

  • Funktionen, die Eingabeargumente akzeptieren und Ausgabeargumente zurückgeben。互联网变量信德für die Funktion lokal verfügbar。

在MATLAB中编写程序,编译程序,编译程序,编译程序,编译程序,编译程序,编译程序möchten。Wenn Sie mit der Zeit eine größere Anzahl eigener Dateien entwickeln, werden Sie diese in anderen Ordnern und persönlichen Toolboxen organisieren, die Sie Ihrem MATLAB Suchpfad hinzufügen können。

Wenn Sie Funktionsnamen duplizieren, führt MATLAB die Funktion mit dem ersten Vorkommen im Suchpfad aus。

我是你,我是你,我是你myfunction.m, anzeigen möchten, geben Sie Folgendes ein:

myfunction类型

Skripts

文赛因Skriptaufrufen, vereinfacht MATLAB die in der Datei gefundenen Befehle。脚本können auf bestehende Daten im Arbeitsbereich angewandt werden oder sie können neue Daten erstellen, auf die sie angewandt werden。Auch wenn Skripts keine ausgabearguente zurückgeben, verbleiben alle Variablen, die sie erstellen, i Arbeitsbereich, sodass sie für nachfolgende Berechnungen verwendet werden können。祖德姆können Skripts mithilfe von Funktionen wie情节grafische Ausgaben erstellen。

我爱你,我爱你magicrank.m,模具folgenden MATLAB Befehle enthält:

研究r = 0(1,32)的魔方秩;对于n = 3:32 r(n) = rank(magic(n));结束酒吧(右)

温思死安未松

magicrank

eingeben, führt MATLAB die Befehle aus, berechnet den Rang der ersten 30 magischen Quadrate und plot in balken图解des ergebnses。Wenn die Datei ausgeführt wurde, verbleiben die Variablennrim Arbeitsbereich。

Funktionen

Funktionen sind Dateien, die eingabearguente akzeptieren und ausgabearguente zurückgeben。我的祖国,我的祖国,我的祖国müssen我的祖国。Funktionen werden auf Variablen innerhalb ihres eigenen Arbeitsbereichs angewandt,也getrent vom Arbeitsbereich, auf den Sie über die MATLAB Eingabeaufforderung zugreifen。

Ein gutes Beispiel ist die Funktion排名.你发现die Dateirank.mim文件夹

工具箱/ matlab / matfun

Zum Anzeigen der Datei geben Sie Folgendes ein:

类型等级

Der Inhalt Der Datei sieht wie folgt aus:

函数r = rank(A,tol) % rank矩阵秩。% RANK(A)提供了矩阵A中线性%无关的行或列的数量的估计值。% RANK(A,tol)是A %大于tol的奇异值的数量。% RANK(A)使用默认的tol = max(size(A)) * norm(A) * eps。s = svd(A);if nargin==1 tol = max(size(A)') * max(s) * eps;结束r = sum(s > tol);

Die erste Zeile einer Funktion begin mit dem Schlüsselwort函数.这就是我们的信仰和信念。在diesem Fall gibt es bis zu zwei eingabearguente und ein Ausgabeargument。

Die nächsten Zeilen - bis zur ersten leeren oder ausführbaren Zeile - sind Kommentarzeilen mit dem Hilfetext。Diese Zeilen werden gedruckt, wenn Sie Folgendes ingeben:

帮助排名

Die erste Zeile des Hilfetexts ist Die Zeile H1, Die MATLAB anzeigt, wenn Sie den Befehllookforverwenden奥得河帮助在einem orderner anfordern。

Der übrige Teil Der Datei ist Der ausführbare MATLAB编程代码,Der die Funktion definiert。死的变量年代我是Funktionsrumpf sowie die Variablen aus der ersten Zeile,r一个托尔,信德lokaleFunktion变量。这个变量是由MATLAB的Arbeitsbereich得到的。

Dieses Beispiel veranschoulicht einen aspkt der MATLAB Funktionen, den andere Programmiersprachen normalerweise nicht bieten:变量Anzahl von Argumenten。死Funktion排名kann auf unterschiedlichste Weise verwendet werden

rank(A) r = rank(A) r = rank(A,1.e-6)

我爱你,我爱你,我爱你。Wenn kein Ausgabeargument angegebenist, wild das Ergebnis ingespeichert。我爱你,我爱你,我爱你,我爱你。Innerhalb des Funktionsrumpfs stehen zwei Größen mit den Namen输入参数个数nargoutzur Verfügung, die angeben, wie viele Ein- und ausgabearguente珠宝,der Verwendung der Funktion beteiligt sind。死Funktion排名verwendet输入参数个数, muss jedochnargout不verwenden。

Funktionstypen

MATLAB stellt verschiedene Funktionstypen zur Verfügung, die für die Programmierung verwendet werden können。

Anonyme Funktionen

风景明信片anonyme Funktion表der MATLAB Funktion, die mit einzelnen MATLAB Anweisung definiert ist。Sie best auseinem einzelnen MATLAB Ausdruck und einer beliebigen Anzahl von Eingabe- und Ausgabeargumenten。Sie können eine匿名Funktion direkt in der MATLAB Befehlszeile oder innerhalb einer Funktion bzw。eines Skripts definierenAuf diese Weise lassen sich einfache Funktionen schnell erstellen, ohne jedes Mal eine Datei für die jeweilige Funktionen erstellen zu müssen。

Die Syntax zum Erstellen einer anonymen Funktion aus einem Ausdruck lautet wie folgt:

F = @(argglist)表达式

我叫安伟松,我叫Funktion erstellt,我叫Zahl findet。Wenn Sie diese Funktion aufrufen, weist MATLAB den von Ihnen übergebenen Wert der VariablenxZu und verwendet anschließendx在格勒中x ^ 2。

SQR = @(x) x.^2;

Geben Sie zum Ausführen der FunktionsqrFolgendes静脉:

A = sqr(5) A = 25

Hauptfunktionen和lokale Funktionen

Alle Funktionen, die nicht anonysind, müssen in einer Datei definiert sein。Jede dieser Funktionsdateien enthält eine erforderlicheHauptfunktion, die zuerst angezeigt weird, und eine beliebige Anzahllokaler Funktionen, die auf die Hauptfunktion folgen können。欢迎你,欢迎你,欢迎你。Dies bedeutet, dass Hauptfunktionen außerhalb der Datei, in der sie definiert sind, aufgerufen werden können (zum Beispiel von der MATLAB Befehlszeile oder von Funktionen in anderen Dateien), während dieses für lokale Funktionen nicht möglich ist。Lokale Funktionen sinnd nur für die Hauptfunktion and die anderen lokalen Funktionen innerhalb ihrer eigenen Datei sichtbar。

死Funktion排名我是AbschnittFunktionenabgebildet ist, ist ein Beispiel für eine Hauptfunktion。

私人Funktionen

风景明信片私人Funktion这是一种典型的大funktion。Ihr Alleinstellungsmerkmal ist, dass sie nur für eine begrenzte Gruppe anderer Funktionen sichtbar ist。我们的创意风格,我们的创意创意möchten我们的创意创意创意verfügbar machen möchten。

二等兵Funktionen被发现在unterornern mit speziellen Namen私人.你的信努尔für Funktionen im übergeordneten orderner sichtbar。安格诺曼,长官newmathbefindet sich zum Beispiel im Suchpfad von MATLAB。Ein Unterordner vonnewmathmit dem Namen私人kann Funktionen enthalten, die nur von Funktionen innewmathAufgerufen werden können。

Da private Funktionen außerhalb des übergeordneten orderners nicht sichtbar sind, können sie dieselben Namen verwenden wie Funktionen in anderen ordern。Das ist nützlich, wenn Sie Ihre eigene Version einer bestimmten Funktion verwenden möchten, während Das Original in einem anderen orner beibehalten weird。Da MATLAB zunächst nach privaten und dann erst nach Standardfunktionen sucht, wardeine private Funktion mit dem Namentest.mvor einer nicht privaten Datei mit dem Namentest.mgefunden。

Verschachtelte Funktionen

Sie können Funktionen innerhalb des Rumpfs einer anderen Funktion definieren。Diese Funktionen gelten als inside halb der äußeren Funktionverschachtelt.我爱你,我爱你,我爱你,我爱你,我爱你。在diesem Beispiel ist die FunktionB在Funktion一个verschachtelt:

函数x = A(p1, p2)…B(p2)函数y = B(p3)…结束……结束

Genau wie andere Funktionen verfügt eine verschachtelte Funktion über ihren eigenen Arbeitsbereich,在dem die von der Funktion verwendeten Variablen gespeichert werden。你的名字叫什么?你的名字叫什么?所以kann beispielsweise eine Variable, der in Wert durch die Hauptfunktion zugewiesen wurde, von einer Funktion gelesen oder überschrieben werden, die auf einer beliebigen Ebene mit der Hauptfunktion verschachtelt ist。Auf ähnliche变量,die in einer verschachtelten Funktion zgewiesen ist, von einer der Funktionen, die diese Funktion enthält, gelesen oder überschrieben werden。

这个整体Variablen

Wenn mehere Funktionen eine einzelne Kopie einer变量gemeinsam verwenden solen, deklarieren Sie die变量einfach in allen Funktionen als全球.Legen Sie dasselbe in der Befehlszeile fest, wenn Sie möchten, dass der Basisarbeitsbereich auf die Variable zugreifen kann。Die globale Deklaration muss vorhanden sein, bevor Die Variable tatsächlich in einer Funktion verwendet weird。Auch wenn es nicht erforderlich ist, können Sie für die Namen globaler Variablen Großbuchstaben verwenden, um Sie von den anderen Variablen besser unterscheiden zu können。我爱你,我爱你,我爱你falling.m

函数h = falling(t) global GRAVITY h = 1/2*GRAVITY*t.^2;

Anschließend geben Sie die folgenden:

重力= 32;Y =下降((0:.1:5)');

死在地球上,安为松根,斯特伦,沃特,德重力in der Befehlszeile zugewiesen wurde, innerhalb der Funktion zur Verfügung。Danach können Sie重力interaktiv ändern und erhalten so neue Lösungen, ohne Dateien bearbeiten zu müssen。

Befehls- vs. funktions语法

Sie können MATLAB Funktionen schreiben, die Zeichenargumente ohne die Klammern und Anführungszeichen akzeptieren。Das bedeutet, dass MATLAB

Foo a b c

Wie folgt interpretiert:

foo (a, b, c)

Wenn Sie also die Befehlsform ohne Anführungszeichen verwenden, kann MATLAB keine Ausgabeargumente zurückgeben。那些erstellt

传说苹果橙子

einelegende在einem Plot和verwendet dafür die Beschriftungen苹果橙子.Wenn Sie möchten, dass der Befehl传说seine ausgabearguente zurückgibt, müssen Sie die Befehlsform mit Anführungszeichen verwenden:

[legh,objh] = legend('apples','oranges');

Außerdem müssen Sie die Form mit Anführungszeichen verwenden, wenn eines der Argumente kein Zeichenvektor ist。

当心

Zwar ist die Befehlssyntax ohne Anführungszeichen praktisch, sie kann jedoch in inigen Fällen falsch verwendet werden, ohne dass MATLAB einen Fehler general。

Konstruieren von Zeichenargumenten in Code

Die Funktionsform mit Anführungszeichen ermöglicht Ihnen das Konstruieren von Zeichenargumenten innerhalb des Codes。我的folgenden Beispiel werden mehrere Datendateien verarbeitet:August1.datAugust2.dat等。Es ward die Funktionint2strverwendet, die eine Ganzzahl in Zeichen konvertiert, um den Dateinamen zu erstellen:

for d = 1:31 s = ['August' int2str(d)]“.dat”);load(s) %处理第d个文件末尾内容的代码