Modellierung und Simulation - Programmstrukturen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „{| class="wikitable" |- | '''Autor:''' || Prof. Dr.-Ing. Schneider |- | '''Termin:''' || 24.04.2025 |} ---- → MATLAB<sup>®</sup> Befehlsübersicht<br> → zurück zum Hauptartikel: BSE Modellierung und Simulation - SoSe26“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 5: | Zeile 5: | ||
| '''Termin:''' || 24.04.2025 | | '''Termin:''' || 24.04.2025 | ||
|} | |} | ||
== Aufgabe 5.1 - Programmiergrundlagen - Schleifen und Bedingungen == | |||
# Schreiben Sie ein MATLAB<sup>®</sup>-Skript, das mit Hilfe einer <code>for</code> -Schleife die Summe der Zahlen von 1 bis 100000 berechnet (z. B. <code>n=n+1</code>). | |||
# Schreiben Sie ein MATLAB<sup>®</sup>-Skript, das mit Hilfe einer <code>while</code>-Schleife die Summe die Zahlen von 1 bis 100000 berechnet. | |||
# Schreiben Sie ein MATLAB<sup>®</sup>-Skript, das | |||
## Einen Vektor X mit 10000 Zufallszahlen zwischen 0 und 1 erzeugt. | |||
## Mit Hilfe einer <code>for</code>-Schleife den Index des ersten Elementes in X berechnet, das > 0.9 ist (falls ein solches existiert) und diesen Index in der Variablen <math>x_1</math> speichert. | |||
## Mit Hilfe einer while-Schleife den Index des ersten Elementes in X berechnet, das< 0.1 ist (falls ein solches existiert) und diesen Index in der Variablen <math>x_2</math> speichert. | |||
## Mit Hilfe von „ logical indexing" das erste Element findet, das echt zwischen 0.5 und 0.55 liegt (falls ein solches existiert) und diesen Index in der Variablen <math>x_3</math> speichert. | |||
'''Nützliche Befehle:''' [https://de.mathworks.com/help/matlab/ref/for.html <code>for</code>], [https://de.mathworks.com/help/matlab/ref/if.html <code>if</code>], [https://de.mathworks.com/help/matlab/ref/while.html <code>while</code>], [https://de.mathworks.com/help/matlab/ref/break.html <code>break</code>] | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 4.4 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">%% Aufgabe 4.4 - Schleifen und Bedingungens | |||
clear all | |||
%(a) | |||
Summe1 = 0; | |||
for i=0:1:100000 | |||
Summe1 = Summe1+i; | |||
end | |||
%(b) | |||
Summe2 = 0; | |||
i = 0; | |||
while i<=100000 | |||
Summe2 = Summe2+i; | |||
i = i+1; | |||
end | |||
clear all | |||
%(c) | |||
VektorX = rand(1,10000); | |||
%Element finden, welches >0.9 ist | |||
for i=1:1:10000 | |||
if(VektorX(i)>0.9) | |||
x1 = i; | |||
break; | |||
end | |||
end | |||
%Element finden, welches <0.1 ist | |||
i=1; | |||
while i<=10000 | |||
if(VektorX(i)<0.1) | |||
x2 = i; | |||
break; | |||
end | |||
i = i+1; | |||
end | |||
%Element finden, welches zwischen 0.5 und 0.55 liegt | |||
%% Möglichkeit 1: Schleife | |||
for i=1:1:10000 | |||
if(VektorX(i)>=0.50 && VektorX(i)<=0.55) | |||
x3 = i; | |||
break; | |||
end | |||
end | |||
%% Möglichkeit 2: logical indexing | |||
Logic_Vek = VektorX >= 0.50 & VektorX <= 0.55; | |||
x3_new = find(Logic_Vek,1); | |||
</source> | |||
|} | |||
---- | ---- | ||
→ [[MATLAB-Befehle| MATLAB<sup>®</sup> Befehlsübersicht]]<br> | → [[MATLAB-Befehle| MATLAB<sup>®</sup> Befehlsübersicht]]<br> | ||
→ zurück zum Hauptartikel: [[BSE Modellierung und Simulation - SoSe26]] | → zurück zum Hauptartikel: [[BSE Modellierung und Simulation - SoSe26]] | ||
Version vom 23. April 2026, 15:28 Uhr
| Autor: | Prof. Dr.-Ing. Schneider |
| Termin: | 24.04.2025 |
Aufgabe 5.1 - Programmiergrundlagen - Schleifen und Bedingungen
- Schreiben Sie ein MATLAB®-Skript, das mit Hilfe einer
for-Schleife die Summe der Zahlen von 1 bis 100000 berechnet (z. B.n=n+1). - Schreiben Sie ein MATLAB®-Skript, das mit Hilfe einer
while-Schleife die Summe die Zahlen von 1 bis 100000 berechnet. - Schreiben Sie ein MATLAB®-Skript, das
- Einen Vektor X mit 10000 Zufallszahlen zwischen 0 und 1 erzeugt.
- Mit Hilfe einer
for-Schleife den Index des ersten Elementes in X berechnet, das > 0.9 ist (falls ein solches existiert) und diesen Index in der Variablen speichert. - Mit Hilfe einer while-Schleife den Index des ersten Elementes in X berechnet, das< 0.1 ist (falls ein solches existiert) und diesen Index in der Variablen speichert.
- Mit Hilfe von „ logical indexing" das erste Element findet, das echt zwischen 0.5 und 0.55 liegt (falls ein solches existiert) und diesen Index in der Variablen speichert.
Nützliche Befehle: for, if, while, break
| Musterlösung 4.4 |
%% Aufgabe 4.4 - Schleifen und Bedingungens
clear all
%(a)
Summe1 = 0;
for i=0:1:100000
Summe1 = Summe1+i;
end
%(b)
Summe2 = 0;
i = 0;
while i<=100000
Summe2 = Summe2+i;
i = i+1;
end
clear all
%(c)
VektorX = rand(1,10000);
%Element finden, welches >0.9 ist
for i=1:1:10000
if(VektorX(i)>0.9)
x1 = i;
break;
end
end
%Element finden, welches <0.1 ist
i=1;
while i<=10000
if(VektorX(i)<0.1)
x2 = i;
break;
end
i = i+1;
end
%Element finden, welches zwischen 0.5 und 0.55 liegt
%% Möglichkeit 1: Schleife
for i=1:1:10000
if(VektorX(i)>=0.50 && VektorX(i)<=0.55)
x3 = i;
break;
end
end
%% Möglichkeit 2: logical indexing
Logic_Vek = VektorX >= 0.50 & VektorX <= 0.55;
x3_new = find(Logic_Vek,1);
|
→ MATLAB® Befehlsübersicht
→ zurück zum Hauptartikel: BSE Modellierung und Simulation - SoSe26