cds_matlab_intro_part2.m 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. % Einführung in Matlab/Simulink
  3. %
  4. % Regelungstechnik Übung
  5. % Institut für Automatisierungstechnik
  6. % Gruppe für komplexe dynamische Systeme
  7. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  8. % Diese Musterfile dient zum Erlernen der grafischen Ausgabemöglichkeiten
  9. % unter Matlab
  10. clear all
  11. close all
  12. clc
  13. %% Einfache 2dimensionale plots
  14. % Erzeugen der Daten
  15. x = 0:.1:2*pi;
  16. y = sin(2*x).*exp(-x/pi);
  17. figure(1) % Öffnet eine Figure-Umgebung
  18. plot(x,y) % einfacher plot-Befehl
  19. grid on % Es werden Gitternetzlinien angegeben
  20. % Hinzufügen eines zweiten Datensatzes
  21. y1 = cos(2*x).*exp(-x/pi);
  22. hold on % Die dargestellten Elemente werden beibehalten
  23. % Die zweite Kurve wird rot und mit dickerer Strichstärke dargestellt
  24. plot(x,y1,'red','LineWidth',2)
  25. legend('Kurve 1','Kurve 2') % Hinzufügen einer Legende
  26. axis([0 5 -0.7 1.2]) % Der Darstellungsbereich wird eingegrenzt
  27. % Zusätzlich ist die Einstellung einer Vielzahl von Parametern im Plot
  28. % möglich. Einerseits kann dies direkt in der grafischen Oberfläche
  29. % erfolgen, andererseits mit den Befehlen get und set.
  30. get(gca) % gca steht für 'get current axis'
  31. set(gca, 'FontName', 'Arial', 'FontSize', 14) % Schriftart und -größe ändern
  32. xlabel('Zeit in s', 'FontName', 'Arial', 'FontSize', 14) % x-Achsen-Beschriftung
  33. ylabel('Amplitude in V', 'FontName', 'Arial', 'FontSize', 14) % y-Achsen-Beschriftung
  34. title('Spannungsverlauf', 'FontName', 'Arial', 'FontSize', 14) % Beschriftung des Titels
  35. %% Unterschiedliche Darstellung der Linien
  36. close all
  37. x = 0:.1:2*pi;
  38. y = sin(2*x).*exp(-x/pi);
  39. figure
  40. plot(x,y,'k.') % Plot in schwarz mit Punkten
  41. hold on
  42. grid on
  43. plot(x,1.5*y,'bo') % Plot in blau mit Kreisen
  44. plot(x,2*y,'c*') % Plot in cyan mit Sternen
  45. plot(x,2.5*y,'g+') % Plot in grün mit Kreuzen
  46. plot(x,3*y,'r:') % Plot in rot punktiert
  47. plot(x,3.5*y,'m--') % Plot in magenta gestrichelt
  48. plot(x,4*y,'y-.') % Plot in gelb strichpunktiert
  49. % Weitere Plots
  50. figure
  51. loglog(x,abs(y)) % Doppellogarithmischer plot
  52. grid on
  53. figure
  54. polar(0:.1:10,0:.1:10) % Polarplot
  55. % Erstellen von Subplots
  56. figure
  57. subplot(2,1,1) % Subplot erzeugen
  58. plot(x,y)
  59. grid on
  60. subplot(2,1,2) % Zugriff auf zweites Fenster
  61. plot(x,2*y)
  62. grid on
  63. %% Dreidimensionale Plots
  64. clear all
  65. close all
  66. clc
  67. x = 0:0.01:1;
  68. % Darstellung einer Linie im Raum
  69. plot3(sin(x*4*pi),cos(x*4*pi),x,'LineWidth',2)
  70. box on % Hinzufügen einer Box
  71. grid on % Hinzufügen von Gitternetzlinien
  72. % Darstellung von Flächen
  73. [xx,yy] = meshgrid(x,x); % Koordinatenmatrix erzeugen
  74. zz = sin(4*pi*xx).*cos(4*pi*yy).*exp(-xx); % Darzustellende Funktion
  75. % Flächenplot
  76. figure
  77. surf(xx,yy,zz)
  78. box on
  79. shading interp % 3D-Flächen ohne Gitternetzlinien
  80. grid on
  81. % Gitterplot
  82. figure
  83. mesh(xx,yy,zz)
  84. box on
  85. grid on
  86. % 2D Konturplot
  87. figure
  88. contour(xx,yy,zz)
  89. box on
  90. grid on