Matlabe/Octave: solve() -> Werte in Formel einsetzen lassen

OP (Firma: RUB) #4326067
Lesenswert?

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:
1
SR1[U, Ip, Ir]

Gibts da einen Weg?

Grüße
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren