function [f1,f2] = tfunc2c(x,a,b) 
% Funktion mit drei Input-Variablen und zwei Output-Variablen.
% Setzen von Default-Werten.
%
% Bei diesem Beispiel können die Variablen a und b Vektoren 
% sein. 
% 
% Berechnet die Funktionen 
%     f1(x) = a(1) * x^2 * sin(x)
%           + a(2) * x^2 * sin(x)
%           + ...
%     f2(x) = a(1) * x^2 * sin(x) + b(1) * x
%           + a(2) * x^2 * sin(x) + b(2) * x
%           + ...
%  
% Aufruf: [f1,f2] = tfunc2c(x,a,b) 
% Input:  
%   x  double array 
%   a  double array, optional, default a=[1,2]
%   b  double array, optional, default b=[2,4]
% Output:                    Summation ueber alle k
%   f1 double array f1 = a(k) * x.^2 .* sin(a(k)*x)
%   f2 double array f2 = a(k) * x.^2 .* sin(a(k)*x) + b(k) * x

  if nargin<1, error('Aufruf: [f1,f2]=tfunc2c(x,a,b)'); end
  if nargin<2,   a = [1,2]; end, if isempty(a), a = [1,2]; end
  if nargin<3,   b = [2,4]; end, if isempty(b), b = [2,4]; end
  % Output-Groessen werden mit 0 initialisiert
  f1 = zeros(size(x)); f2 = f1;
  % Summation über alle f1(k) und f2(k)
  for k = 1:length(a)
    h1 = a(k) * x.^2 .* sin(a(k)*x);
    h2 = h1 + b(k) * x;
    f1 = f1 + h1;
    f2 = f2 + h2;
  end
