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

Verfeinerung einer Partition

 

HP1
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 30.03.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2018, 14:29     Titel: Verfeinerung einer Partition
  Antworten mit Zitat      
Hallo zusammen

Ich habe das Intervall  \Omega = (0,1) gegeben. G sei eine Partition von  \bar{\Omega} und  \bar{G} eine Verfeinerung von G.

Wie kann ich in Matlab eine (Beispiel-) Partition definieren? Und wie muss / kann ich mit der arbeiten?

Diese gegebene Partition würde ich dann gerne verfeinern. Hierzu würde ich mit der Intervall-Halbierung arbeiten - das habe ich schon mehr oder weniger implementiert, siehe Anhang.

Vielen Dank für die Hilfe!

Half-Interval.jpg
 Beschreibung:

Download
 Dateiname:  Half-Interval.jpg
 Dateigröße:  59.02 KB
 Heruntergeladen:  248 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.10.2018, 17:08     Titel:
  Antworten mit Zitat      
Hallo,

und welche Probleme treten dabei auf?

Code bitte als Text anhängen. Das erleichtert das Experimentieren damit erheblich.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
HP1
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 30.03.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.10.2018, 23:47     Titel:
  Antworten mit Zitat      
Hier ist mein Code:
Code:

function root = bisect(func, x1, x2, filter, tol)

% INPUT:
% func = handle of function that returns f(x)
% x1, x2 = limits on interval containing the root
% filter = singularity filter; 0 = off (default), 1 = on
% tol = error tolerance (default is 1.0e4*eps)
% OUTPUT:
% root = zero of f(x), or NaN if singularity suspected

if nargin < 5
    tol = 1.0e4*eps;
end

if nargin < 4
    filter = 0;
end

f1 = feval(func, x1);
if f1 == 0.0
    root = x1;
    return;
end

f2 = feval(func, x2);
if f2 == 0.0
    root = x2;
    return;
end

if f1*f2 > 0
    error("Root is not bracketed in (x1, x2)")
end

n = ceil(log(abs(x2-x1)/tol)/log(2.0));
for i = 1:n
    x3 = 0.5*(x1+x2);
    f3 = feval(func,x3);
    if (filter == 1) & (abs(f3) > abs(f1)) & (abs(f3) > abs(f2))
        root = NaN;
        return
    end
    if f3 == 0.0
        root = x3;
        return
    end
    if f2*f3 < 0.0
        x1 = x3;
        f1 = f3;
    else
        x2 = x3;
        f2 = f3;
    end
end

root = (x1 + x2)/2;


Wie kann ich nun eine Partition definieren in Matlab, die in (0,1) ist?
(Eine Partition ist die Menge der [x_i, x_{i+1}] wobei x_0 < x_1 < ... < x_n < x_{n+1} gilt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.10.2018, 05:45     Titel:
  Antworten mit Zitat      
Hallo,

was hat denn die Nullstellensuche in [x1, x2] mit einer Partition von (0,1) zu tun?

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 ;)
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.