loadTruss.m

function truss = loadTruss(filename)
% lädt eine Fachwerkstruktur
% Parameter:
%    filename  Name der Datei (ohne Endung .truss)
% Felder von truss:
%    x0        Gleichgewichtskoordinaten aller Punkte
%    A         Verbindungsmatrix (symmetrisch, auf der Diagonalen 0)
%    N         Zahl der beweglichen Massen
%    m         Größe einer Masse
%    c         Steifigkeit eines Balkens

fid = fopen(filename + ".truss", "r");
if (fid == -1)
  fprintf("Datei %s.truss konnte nicht geöffnet werden\n", filename) 
  % Dummy-Rückgabewerte
  truss.x0 = []; truss.A = []; truss.N = 0; truss.m = 0; truss.c = 0; 
  return
end

fgetl(fid);
dims = fscanf(fid, "%d %d\n", 2);
truss.x0 = fscanf(fid, "%f", dims');
fgetl(fid);         % holt das \n von der x0-Zeile

fgetl(fid);
dims = fscanf(fid, "%d %d\n", 2);
truss.A = fscanf(fid, "%f", dims');
fgetl(fid);    % holt das \n von der A-Zeile

fgetl(fid);
truss.N = fscanf(fid, "%d\n", 1);

fgetl(fid);
truss.m = fscanf(fid, "%f\n", 1);

fgetl(fid);
truss.c = fscanf(fid, "%f\n", 1);

fclose(fid);