2017-03-03 8 views
1

Der folgende Ausgabecode gibt ein Array aus der manipulate-Anweisung aus. Ich möchte die Anpassung und das Diagramm als zwei separate Ausgabezellen ausgeben, die dynamisch aktualisiert werden. Ich denke, es sollte ziemlich einfach sein, aber ich habe Probleme damit. Ich habe versucht, die CellPrint [] -Funktion zu verwenden, aber es hat nicht funktioniert. Danke, TalFormatierung Ausgabe manipulieren, um 2 Zellen in Mathematica zu haben

temperatures(*mK*)= {300, 200, 150, 100, 75, 50, 25, 11, 10}; 

F[t_, \[Nu]_] := t^\[Nu]; 

rd (*uOhms*)= {27173.91304, 31250., 42372.88136, 200601.80542, 
    1.05263*10^6, 1.33333*10^7, 1.33333*10^8, 2.*10^8, 2.1*10^8}; 

logRd = Log10[rd]; 

f[\[Nu]0_] := Module[{\[Nu]}, 
    \[Nu] = \[Nu]0; 
    data = Transpose[{F[temperatures, \[Nu]]*10^3, logRd}]; 
    fitToHexatic = LinearModelFit[data[[4 ;; 6]], x, x]; 
    plota = 
    Plot[fitToHexatic["BestFit"], {x, 0, data[[-1]][[1]]}, 
    Axes -> False]; 
    plotb = ListPlot[data, Axes -> False]; 
    {fitToHexatic, Show[{plota, plotb}, Axes -> True]} 
    ] 

Manipulate[ 
f[nu], 
{nu, -0.2, -1} 
] 

Screenshot der Ausgabe:

Screenshot of the output

Antwort

1

Sie brauchen nicht ein zu Manipulieren zu verwenden. Mit Funktionen auf niedrigerer Ebene können Sie mehr Kontrolle erhalten. Z.B.

Slider[Dynamic[nu, (f[#]; nu = #) &], {-0.2, -1}] 
Dynamic[Normal[fitToHexatic]] 
Dynamic[Show[{plota, plotb}, Axes -> True]] 

Siehe auch Prototypical Manipulate in lower level functions.

+0

Ehrfürchtig. Danke :) Ich habe es auch geschafft, indem ich jede meiner Anweisungen in eine Row [] -Funktion gesetzt habe. Dann gibt es alle aus dem Manipulieren aus. – Tal

Verwandte Themen