Aufgabe 2.2 – Modulare Programmierung (Einzeiler)

 

Geben sie jeweils einen möglichst einzeiligen Matlab-Ausdruck an, mit welchem

  1. alle Positionen in einem Cell-Array C bestimmt werden, die eine leere Matrix enthalten
  2. das Integral y = \int_0^x {\sin \left( {\hat x} \right)d\hat x} numerisch approximiert wird
  3. ein Handle subsqr auf eine anonyme Funktion erstellt wird, die bei einem Aufruf der Form y=subsqr(x) als Ergebnis den Wert y = x-\sqrt x zurückgibt
  4. die Nullstelle der Funktion f\left( x \right) = x+\cos \left( x \right) berechnet wird
  5. das Ergebnis der Auswertung der in einem String MyCommand enthaltenen MATLAB Befehlsfolge dynamisch einer Variablen zugewiesen wird, deren Name in dem String OutVar definiert ist. (Beispiel: für MyCommand=’1:3;’ und OutVar=’x’ wird im Workspace eine Variable x erzeugt, die die Werte [1 2 3] enthält.)

Lösung

k=find(cellfun(@isempty,C));
y=quad(@sin,0,pi);
subsqr = @(x) x-sqrt(x);
fh=@(x) x+xos(x); ns=fzero(fh,1);
eval([OutVar '=' MyCommand])

Ähnliche Artikel

Kommentar verfassen