[Go to BBS]
All articles in a thread
Subjectquestion
Article No448
Date: 2007/06/07(Thu) 14:51:19
Contributorshobuda < >
ListPlotについて質問があります。
データを作ってListPlotをすればグラフが書けるはずです。

今、色々計算してデータを作り、ListPlotでグラフを書かせようとすると、
???General::fileopen: Open error for file /usr/sad/Packages/ListPlot.n. in
Get ["/usr/sad/Packages/ListPlot.n"]
というエラーが出ます。
ちなみにListPlotの前にデータの中味をみると{{x1,y1},...{xn,yn}}となっていることが
確認できます。

そこで、計算をしてデータを作る前にダミーで例えば、{{1,2},{3,4}}
をLisitPlotさせておきます。すると、まずこのグラフが書かれます。
しかる後に実際のデータを計算させてListPlotするとこれに上書きされ、
先のようなエラーはでません。


なぜでしょうか?

SubjectRe: question
Article No449
Date: 2007/06/07(Thu) 15:06:17
ContributorAkio Morita
> ListPlotについて質問があります。
> データを作ってListPlotをすればグラフが書けるはずです。
>
> 今、色々計算してデータを作り、ListPlotでグラフを書かせようとすると、
> ???General::fileopen: Open error for file /usr/sad/Packages/ListPlot.n. in
> Get ["/usr/sad/Packages/ListPlot.n"]
> というエラーが出ます。
> ちなみにListPlotの前にデータの中味をみると{{x1,y1},...{xn,yn}}となっていることが
> 確認できます。
>
> そこで、計算をしてデータを作る前にダミーで例えば、{{1,2},{3,4}}
> をLisitPlotさせておきます。すると、まずこのグラフが書かれます。
> しかる後に実際のデータを計算させてListPlotするとこれに上書きされ、
> 先のようなエラーはでません。
>
/usr/sad/Packages/ListPlot.nをopenできないというエラーなので、
通常ではまずあり得ないエラーです
多分、色々な計算とやらが、環境か File I/Oに影響を与えていると思われるので
以下の項目を調べてみてください

o /usr/sad/Packages/ListPlot.nは存在しますか? 読み込み権限はありますか?

o /usr/sad/Packages/ListPlot.nが存在しない場合
ListPlotが成功した場合と失敗した場合それぞれで、ListPlot[]を評価する直前の
PackagesDirectoryシンボルの値は同じですか?

o /usr/sad/Packages/ListPlot.nが存在する場合
OpenRead["/usr/sad/Packages/ListPlot.n"]は成功しますか?

SubjectRe^2: question
Article No451
Date: 2007/06/07(Thu) 17:58:35
Contributorshobuda
> > ListPlotについて質問があります。
> > データを作ってListPlotをすればグラフが書けるはずです。
> >
> > 今、色々計算してデータを作り、ListPlotでグラフを書かせようとすると、
> > ???General::fileopen: Open error for file /usr/sad/Packages/ListPlot.n. in
> > Get ["/usr/sad/Packages/ListPlot.n"]
> > というエラーが出ます。
> > ちなみにListPlotの前にデータの中味をみると{{x1,y1},...{xn,yn}}となっていることが
> > 確認できます。
> >
> > そこで、計算をしてデータを作る前にダミーで例えば、{{1,2},{3,4}}
> > をLisitPlotさせておきます。すると、まずこのグラフが書かれます。
> > しかる後に実際のデータを計算させてListPlotするとこれに上書きされ、
> > 先のようなエラーはでません。
> >
> /usr/sad/Packages/ListPlot.nをopenできないというエラーなので、
> 通常ではまずあり得ないエラーです
> 多分、色々な計算とやらが、環境か File I/Oに影響を与えていると思われるので
> 以下の項目を調べてみてください
>
> o /usr/sad/Packages/ListPlot.nは存在しますか? 読み込み権限はありますか?
>


存在します。
読み込み権限はあります。


> o /usr/sad/Packages/ListPlot.nが存在しない場合
> ListPlotが成功した場合と失敗した場合それぞれで、ListPlot[]を評価する直前の
> PackagesDirectoryシンボルの値は同じですか?
>
> o /usr/sad/Packages/ListPlot.nが存在する場合
> OpenRead["/usr/sad/Packages/ListPlot.n"]は成功しますか?

上書きをしてくれるように書いた場合でも
ListPlotの直前に
OpenRead["/usr/sad/Packages/ListPlot.n"];
を書くと、
???General::fileopen: Open error for file /usr/sad/Packages/ListPlot.n:
のメッセージがでます。

SubjectRe^3: question
Article No452
Date: 2007/06/07(Thu) 19:25:02
ContributorAkio Morita
> 上書きをしてくれるように書いた場合でも
> ListPlotの直前に
> OpenRead["/usr/sad/Packages/ListPlot.n"];
> を書くと、
> ???General::fileopen: Open error for file /usr/sad/Packages/ListPlot.n:
> のメッセージがでます。
>
となると、純粋にFortran側の Logical Unit Numberが埋まったか、UNIX file descripterが
不足してると思われます
「色々計算」というところで、OpenWrite[]やOpenAppend[]を多用してClose[]し忘れてませんか?

問題となる SADを動かしたままで、lsof等のコマンドで使用中の file descripterを調べてみると
原因が分かるかもしてません

SubjectRe: question
Article No450
Date: 2007/06/07(Thu) 15:11:37
ContributorAkio Morita
Subjectは、もう少し内容がわかるものにしたほうが...