WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Gleichungssystem lösen

 

Flo_89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2012, 11:33     Titel: Gleichungssystem lösen
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem:

Ich möchte ein Gleichungssystem lösen, welches aus 2 Gleichungen und 2 Unbekannten besteht. Der Haken an der Sache ist, dass ich innerhalb der Funktion eine sehr große (12300x1)-Matrix "Vol" habe, aus der ich für jedes Element meine Gleichungen lösen lassen will. Am Ende möchte ich also für alle 12300 Einträge die Lösung x=[x(1),x(2)] haben.
Code:
function F = spheroid(x)
Daten = Inputwerte;
time_2 = [0:0.01:Daten.time_aufblasen]';
V = zeros(length(time_2),1);

for m = 1:length(time_2)
    if m<12/Daten.delta_t+1
        % Bereich 1: t:[0,12]
        V(m,1) = 6.441/1000*time_2(m,1)^2+0.09503;
    elseif m>(12/Daten.delta_t) && m<(37/Daten.delta_t+1) % Bereich 2: t:[12,37]
        V(m,1) = 0.15458*time_2(m,1)-0.83246;
    elseif m>(37/Daten.delta_t) && m<(70/Daten.delta_t+1) % Bereich 3: t:[37,70]
        V(m,1) = 5.465/1000*time_2(m,1)^2-0.40441*time_2(m,1)+12.3686;
    elseif m>(70/Daten.delta_t) && m<(105/Daten.delta_t+1) % Bereich 4: t:[70,105]
        V(m,1) = 0.515271*time_2(m,1)-25.2306;
    else % Bereich 4: t:[105,123]
        V(m,1) = -0.014313*time_2(m,1)^2+3.520997*time_2(m,1)-183.031;
    end
end
% hier habe ich also nun eine 12300x1-Matrix

F = zeros(length(time_2),1);

for n = 1:length(time_2)
    Vol = V(n,1);
    F(n,1) = [(x(2)+x(1))*(1+3*((x(2)-x(1))/(x(2)+x(1)))^2/(10+sqrt(4-3*((x(2)-x(1))/(x(2)+x(1)))^2)))-4;
        3/4*Vol*1/(pi*x(1)^2)-x(2) ];
end


Die Funktion rufe ich dann mit dem Startwert
Code:
x0 = [0.01;2.0];

[x] = fsolve(@spheroid,x0)


auf. Allerdings stimmen da die Dimensionen der Variablen natürlich nicht. Ich habe jedoch schon alles mögliche probiert.

Vielleicht hat einer von euch eine Idee.

Danke schonmal im Vorraus!


Flo_89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2012, 14:41     Titel:
  Antworten mit Zitat      
Keine Ideen oder Vorschläge?
Bin ich mit meiner Herangehensweise völlig auf dem Holzpfad? Sad
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.09.2012, 12:54     Titel: Re: Gleichungssystem lösen
  Antworten mit Zitat      
Hallo Flo_89,

Zum Glück sind Probleme mit <100'000 Variablen auf modernen Computern nicht unbedingt als "groß" zu bezeichnen.

Zitat:
Allerdings stimmen da die Dimensionen der Variablen natürlich nicht. Ich habe jedoch schon alles mögliche probiert.

Nun müsste man für eine Lösung viel raten: 1. Wieso stimmen welche Diomensionen nicht? 2. Woher weißt Du das? 3. Wie müssten denn die richtigen Dimensionen lauten? 4. An welcher Stelle tritt das Problem auf und gibt es eine Fehlermeldung? 5. Was hast Du ausprobiert? 6. Warum genau hat das, was du probiert hast, nicht funktioniert?

Ich empfehle zu posten, was Du versucht hast und das auftredende Problem genau zu erklären. Dann wäre ein Lösungsvorschlag effizient und möglicherweise sogar einfach.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 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.