2017-03-03 6 views
1

다음 출력 코드는 manipulate 문에서 배열을 출력합니다. 피팅과 플롯을 동적으로 업데이트되는 두 개의 개별 출력 셀로 출력하고 싶습니다. 나는 그것이 아주 간단해야한다고 생각하지만, 그것에 문제가있다. CellPrint [] 함수를 사용해 보았지만 작동시키지 못했습니다. 감사합니다, 탈 출력의포맷팅 Mathematica에서 2 셀을 갖도록 출력 조작

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 of the output

답변

1

당신은이 조작 사용할 필요가 없습니다. 낮은 수준의 기능으로 더 많은 제어를 얻을 수 있습니다. 예 :

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

Prototypical Manipulate in lower level functions 참조하십시오.

+0

굉장합니다. 감사합니다 :) 또한 각 문장을 Row [] 함수 안에 넣음으로써 작동하도록했습니다. 그런 다음, 조작 된 것으로부터 모든 것을 출력합니다. – Tal