Hallo Forum,
vielleicht ist hier ja jemand, der relativ Fit in Matlab/Octave ist. :)
Mittels der solve()-Funktion kann man Gleichungen/Gleichungssysteme
lösen lassen. "Lösen" bedeutet in diesem zusammenhang, dass die
Gleichung nach der gesuchten Variablen umgestellt wird.
Wie bekomme ich Matlab/Octave jetzt aber dazu, in die "gelöste
Gleichung" Werte einzusetzen, und das ganze auszurechnen? Denn so
bekomme ich erstmal nur die "gelöste Gleichung" als Ausgabe im
Command-Window und muss das ganze dann nochmal abtippen bzw. copy&paste
1 | %
|
2 | % R1 = 67.32 Ohm
|
3 | % R2 = 32.68 Ohm
|
4 | %
|
5 |
|
6 | % Head start - Init
|
7 | clear
|
8 | home
|
9 | close all
|
10 |
|
11 | % this load command is needed for octave
|
12 | % if you use matlab you don't need that
|
13 | pkg load symbolic
|
14 | % Head end
|
15 |
|
16 | % Prog start
|
17 | syms R1 Ir Ip U
|
18 | SR1 = solve([R1 * (( U / Ir) - R1) * Ip * Ir] == U^2, [R1])
|
19 |
|
20 | U = 220; % voltage
|
21 | Ip = 10; % current in parallel connection
|
22 | Ir = 2.2; % current in series connection
|
23 |
|
24 | % Matlab solution
|
25 | R1 = (U * (Ip * (Ip - 4 * Ir))^(1/2) + Ip * U)/(2 * Ip * Ir)
|
26 | R2 = ((U * (Ip * (Ip - 4 * Ir))^(1/2) - Ip * U)/(2 * Ip * Ir)) * (-1)
|
27 | %
|
28 |
|
29 | % Octave solution
|
30 | R1 = U*( (1 / (2 * Ir)) + ( sqrt(Ip * (Ip - 4 * Ir)) / (2 * Ip * Ir)) )
|
31 | R2 = U*( (1 / (2 * Ir)) - ( sqrt(Ip * (Ip - 4 * Ir)) / (2 * Ip * Ir)) )
|
32 |
|
33 | % eliminate the square root
|
34 | R1 = U*( (1 / (2 * Ir)) + ( (Ip * (Ip - 4 * Ir))^(1/2) / (2 * Ip * Ir)) )
|
35 | R2 = U*( (1 / (2 * Ir)) - ( (Ip * (Ip - 4 * Ir))^(1/2) / (2 * Ip * Ir)) )
|
36 | %
|
37 |
|
38 | % Prog end
|
In SR1 stehen die gesuchten Formeln. Kann man da jetzt irgendwie die
Variablen U, Ip und Ir rein geben, und dann purzelt das ergebnis raus?
irgendwie so:
Gibts da einen Weg?
Grüße