■ Mathematica Tips
正しいパスワードを入力してインストールできているのに,起動時に再びパスワードの入力を求められるノートブックのディレクトリをカレントディレクトリに設定
テキストイメージファイルの読み込みと表示
リストから条件を満たす要素を抽出
Frame使用時に各辺の目盛を制御
グラフィックスの出力時に文字が入りきっていない場合の対処
入出力のファイル名に変数を使用する
ラベルに変数を使用する
ラベルのフォント等に関すること
入力の番号(In[1]:=)は表示されるが評価されない
EPS出力で括弧等がうまく表示されない
正しいパスワードを入力してインストールできているのに,起動時に再びパスワードの入力を求められる
再びパスワードを入力しても拒否されたり,エラーを出してMathematicaが強制終了してしまう場合には,以下のように対処する.・Windows: mathpassというファイルを削除
・その他のOS: 参照
ノートブックのディレクトリをカレントディレクトリに設定
SetDirectory@NotebookDirectory[];↑
SetDirectory@currentdirectory;
テキストイメージファイルの読み込みと表示
turnover=1;(* 1:表示を上下反転する,1以外:しない *)filename="sample.txt";(* 読み込みファイル名 *)
wl=1000;(* window level *)
ww=300;(* window width *)
rangemin=wl-ww/2;rangemax=wl+ww/2;
flatinputdata=ReadList[currentdirectory<>filename,Number];
width=Sqrt@Length@flatinputdata;
If[turnover==1,inputdata=Reverse@Partition[flatinputdata,width];,inputdata=Partition[flatinputdata,width];];
ListDensityPlot[inputdata,Mesh->False,PlotRange->{rangemin, rangemax},ImageSize->350];
リストから条件を満たす要素を抽出
リストdataから整数だけを抽出
In[1]:= Out[2]:= |
data={1, 1.5, 2, 2.5, 3, 3.5}; Select[data, IntegerQ] {1, 2, 3} |
Frame使用時に各辺の目盛を制御
ListPlotでFrameを使って図のようなグラフィックスを出力したときに,縦の目盛りだけを出力しないようにするにはFrameTicksを使う.例えば,FrameTicks->{Automatic,None}とすると,下図のようになる.
![]() |
![]() |
この図の縦の目盛りだけを出力しないようにしたい | FrameTicksを使えばこのように実現できる |
さらに,目盛りを描きたい位置や,ラベルを以下のように指定する事により図のような結果も得られます.
![]() |
![]() 出力結果 |
「ラベルのない目盛(tick)マークを作りたいのですが」も参考
グラフィックスの出力時に文字が入りきっていない場合の対処
AxesLabelやEpilog等で書いた文字が表示範囲内に入っていない場合はフォントサイズやImageSize等を変えると入る.入出力のファイル名に変数を使用する
例: 変数paramを使ってファイル名を変えながら出力する場合In[1]:= | param=256; data=Table[1,{param}]; Export["C://param"<>ToString[param]<>".txt",data,"List"]; |
ラベルに変数を使用する
変数paramを使ってラベルを書くIn[1]:= | param=256; ... Plot[f[x],{x,0,10},PlotRange->All,Frame->True, FrameLabel->{"param="<>ToString[param],None,None,None}]; |
ラベルのフォント等に関すること
例: ラベルをイタリックにする$DefaultFontでフォント全体を指定するか,"Projection data p(X)"などと直接イタリックにする.ラベルにTraditionalFormを適用してもよい.
入力の番号(In[1]:=)は表示されるが評価されない
入力の番号In[1]:=は表示されるが評価されず,次のセルの入力番号もIn[1]:=となってしまうことがある.この場合はIn[1]:=にカラーのコメントを使っていないか確認する.
カラーのコメントを使用するとこのようなことが起こるというMathematicaのコメントにおけるバグで,
現在バグフィックスしている模様.参考
EPS出力で括弧等がうまく表示されない
グラフィックスを選択して編集(E)-選択範囲の形式保存...(V)-EPS(E)からEPSを出力するときに括弧等が文字化けしてしまう.これはEPSファイルをテキストエディタで開いて修正できる.ここでは"("と")"が"H"と"L"になっているので次のように修正.
... /Math2Mono findfont 13.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 72.125 16.625 moveto (H) show ... /Math2Mono findfont 13.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 87.750 16.625 moveto (L) show ... |
... /Math2Mono findfont 13.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 72.125 16.625 moveto (\() show ... /Math2Mono findfont 13.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 87.750 16.625 moveto (\)) show ... |