|
|
Lösung von Gleichungen mit Parametern in Wertebereich |
|
minerva |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 15.06.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.06.2021, 13:35
Titel: Lösung von Gleichungen mit Parametern in Wertebereich
|
|
Hallo,
ich bin noch Matlab Anfänger und habe gerade Probleme einen Ansatz für folgendes Problem zu finden:
Ich habe zwei Gleichungen
R=d/l*A
C=s*d*A
Dabei sind R und C bekannt. d, l, A und s können nur jeweils Werte in vorgegebenen Bereichen annehmen. Ich würde gerne von Matlab berechnen lassen, welche Werte d, l, A und s in welcher Kombination einnehmen müssten um die Gleichungen mit den bekannten R und C zu erfüllen, bzw. ob dies überhaupt mit den vorgegebenen Wertebereichen möglich ist.
Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte oder wenigstens einen Ansatz in die richtige Richtung hat.
Viele Grüße
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.06.2021, 18:33
Titel:
|
|
Hallo,
ich würde es mit
syms
,
assume
und
solve
versuchen,
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
minerva |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 15.06.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.06.2021, 12:48
Titel:
|
|
|
|
|
Vielen Dank für die Tipps.
Ich habe damit jetzt etwas rumprobiert. Ich habe zwei Varianten ausprobiert, bei denen er mir aber keine Lösungen ausgibt, obwohl ich weiß, dass es sie geben muss. Die auskommentierten Sachen sind Varianten, die ich auch ausprobiert habe, die aber auch nicht geklappt haben.
Wenn ich die Bedingungen entfertn habe, wurden mir Lösungen ausgegeben, die mir aber leider nicht weiter helfen.
Kann mir jemand sagen, wo mein Fehler liegt oder ob das so überhaupt klappen kann?
Code:
close all
clear all
clc
syms l d A s;
assume(~in(l,'integer')&l<300 & l>50);
assume(~in(d,'integer')&d<7000e-05 & d>1e-06);
assume(~in(A,'integer')&A<1e-02 & A>1e-06);
assume(~in(s,'integer')&s<2000 & s>1000);
% assume(l<300 | l>50);
% assume(d<7000e-05 |d>1e-06);
% assume(A<1000e-01 |A>1e-06);
% assume(s<2000| s>1000);
C=4.950000000000000e-04;
R=0.002000000000000;
%% Variante 1
% eqns=[R==d/(l*A), C==s*d*A];
% S=solve(eqns,[l d A s])
%
% S.l
% S.d
% S.A
% S.s
%% Variante 2
eqns=[R==d/(l*A), C==s*d*A];
vars=[l d A s];
[soll, sold, solA, sols]=solve(eqns,vars)
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.06.2021, 21:25
Titel:
|
|
Hallo,
was bezweckst du mit ~in(l,'integer')? l soll kein Integer sein dürfen? Warum denn nicht?! Das wirkt auf mich sehr willkürlich.
Wie wäre es damit?
Hier bekomme ich Lösungen, und wenn ich testhalber auf
abändere, bekomme ich keine (weil es wohl keine gibt).
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
minerva |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 15.06.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2021, 11:39
Titel:
|
|
Hallo Harald,
vielen Dank, dass du mir bei meinem Problem hilfst.
Ich war ziemlich verzweifelt und habe nur ganze Zahlen bekommen und hatte einfach mal irgendwas ausprobiert um das zu verhindern, deshalb das~in(l,'integer').
Ich habe deinen Code probiert, allerdings bekomme ich da keine Lösung raus und folgende Warnmeldung:
Warning: Unable to find explicit solution. For options, see help.
> In solve (line 317)
In gomat (line 14)
Line 14 ist bei mir:
S=solve(eqns,[l d A s])
Kann es da ein Problem mit meiner Version geben oder muss ich irgendeine Toolbox zusätzlich runterladen?
Viele Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.06.2021, 11:57
Titel:
|
|
Hallo,
ich verwende R2021a. Wenn du ein älteres Release verwendest (welches?), ist es durchaus möglich, dass dort manches anders funktioniert hat.
Die benötigte Toolbox ist die Symbolic Math Toolbox. Da solltest du aber direkt eine Fehlermeldung bekommen, wenn du diese nicht hast.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
minerva |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 15.06.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2021, 15:37
Titel:
|
|
Ich benutze Version R2019a. Die Symbolic Math Toolbox habe ich installiert. Gibt es noch etwas was ich ausprobieren kann um den Code zum laufen zu bekommen?
Viele Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.06.2021, 19:02
Titel:
|
|
Hallo,
mit R2019a bekomme ich auch keine Lösungen. Ich sehe nur 2 Möglichkeiten:
a) Wechsel auf ein aktuelleres Release, vorzugsweise R2019a
b) Technischen Support kontaktieren um zu sehen, ob man dort eine Lösung (außer a) hat.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|