2017-10-28 4 views
0

In meiner numerischen Analyse Klasse wir manchmal brauchen Berechnungen mit t-stelligen Rundungs ​​arithmetics zu tun, das heißt jede Berechnung (jede Berechnung, nicht jede Variablenzuweisung) abgerundet ist Sinn-volle Ziffern t. Ich benutze Matlab für meine Berechnungen, und ich brauche eine Möglichkeit, Matlab auf alle seiner Berechnungen in T-Stellen-Rundungsarithmetik zu begrenzen.Grenze Matlab-Berechnungen preciseness

Wenn es keinen solchen Weg gibt, würde ich einen Weg finden wollen, um eine bestimmte Zahl auf t zu vervollständigen.

Danke!

p.s. Ich versuchte, digits(t) zu verwenden, aber es scheint zu wirken, nur die Art, wie Matlab die Zahlen anzeigt (ich kann es falsch benutzen).

+0

In meiner Aufgabe muss ich ein lineares System Ax = b mit Eliminierung lösen, mit 3-stelliger Rundenarithmetik. Ich denke nicht, dass das zu absurd ist, was im "wirklichen Leben" passiert ist, aber mit 32 oder 64 Ziffern (wenn ich nicht falsch liege). Dies soll dieses Phänomen betonen. – user3195363

+0

Zusätzlich zu 'vpa' (wie von @ user2305193 erwähnt) können Sie auch den [Fixed Point Designer] (https://www.mathworks.com/help/fixedpoint/index.html) verwenden. Weder sind in Basis MATLAB - d. H. Sie sind in Add-On-Toolboxen. –

Antwort

0

können Sie verwenden:

system_dependent('setprecision',24); %accepts values 24, 53 or 64 

wie in this und this Ressource beschrieben.