読者です 読者をやめる 読者になる 読者になる

from 2015-6-7

自分用の備忘録としてネット上にも残しておこうと思い書いています

maple_mapleで計算をしながら文章を書くやり方

Workbook Attachmentsをヘルプで検索して出てくるもののなかに

Setting a Worksheet to Open Automatically
You can set one or more worksheets to open automatically when you open your workbook.
To set a worksheet to open automatically:
1. In the Navigator palette, right-click on the worksheet, and then select Open Automatically.
2. Save your workbook.
ということを書いています。

そこで、ワークブックのファイルに、別のワークシート(mwのもの)をattach
して、workbook paneに表示されているそのワークシートを右クリックして
上に書いてあるように、Open Automaticallyを選び、ワークブックを保存して、!!!
を押します。attachしたワークシートにはa:=sin(v)とだけ書いていて、
ワークブックの方にはdiff(a,v);とだけ書くとします。

変数はworkbook のworkbook paneにも、attachしたmwファイルのworkbook paneにも
出てきていないのでsaveしていません。(変数がworkbook paneに出ないことは頻繁にあります)
「saveしなくても、Open Automaticallyでmwファイルを自動で開いたのだから、
必要ないはずだ」という考えがあることと、
上で書いたように、workbook paneには出てきていないのでどう変数をsave できるものかということから、変数はsaveしていません。そしてworkbookのほうで!!!を押したのですが、diff(a,v)は0となり、a:=sin(v)とattachしたことはmapleにより無視されています。

なにが悪いのでしょうね。

Maple URIは普通のURIと同じだけど、workbookにattachしたとき、そのある場所がthisが入るなど変わったURIです。readを使って、普通のmplファイルはworksheetに
読み込むことができるのですが、mplファイルをattachした場合には、readの引数にそのmaple URIを入れて、読み込むことができます。

mwファイルの場合はreadを使うとエラーが出ます。

「workbookだとattachしたファイルは読み込んでいる」という前提があるからだということになっているから必要ないということになるのかもしれませんが、saveで変数を

(workbook paneに現れないから)saveできない場合は、mwファイルを読み込んでも
使えないということになりそうです。

今のところだと、計算をやって出てきた結果を使って計算をやって、長い計算の結果を出す、ということをやろうとするときにどうやればコンパクトにできるか?変数を探し回ることなくできるかということについては、次のようにすればいいのではないかと

思っています(まだ実施してないから問題があるかもしれませんが)

ワークシートを開いて計算し、小さな計算をするごとにその小さな計算をmplファイルにして保存する。元のparentのワークシートの方にはread(そのmplファイル)というのを書いておく。そういう行がparentのワークシートにはたくさんある。

計算するときにはmplファイルを読み込んだ全部のワークシートを立ち上げる。(あるいは「mplファイルにせずにmwファイルにしておく」)Math Engineは共通のものを使うと、一つのワークシートで読み込んだ変数は別のワークシートで使える。

論文の計算を最後までしたあと、workbookか、一枚のワークシートにまとめる。

保存された変数がどのファイルにあるかということは、たぶんthisなんとかというmapleURIとattachしたもともとのファイルのURIは違うので、元々のファイルのあり場所を知っても意味がないと思うようになりました。workbookのworkbook paneで開いて加工しようが、それはもともとのファイルではないんじゃないかと思います。(確かめてない)たぶん、元々のファイルをthisなんとかという場所にコピーしたものをworkbookは参照しているのではないかと思います。だから、元々のファイルに変更を加えても、それが直接workbookに反映されるわけではない
と思います。

いずれにせよ、論文の計算をしていてごちゃごちゃしそうな状況をなくすためには部分部分の計算を別ファイルにすること、そしてそれを読み込むparentファイルを作っておくことかなあと今のところは思っています。

attachしたmwファイルを読み込んで変数をworkbook paneに表示させることができないないが、どうすればいいのかという疑問をもっています

それと、command + tで書いたファイルをmplで保存すると、保存されたmplを読み込んだ時には入力の2Dは2Dじゃなく1Dになったり、見慣れないコマンド(∫)が入り、mplファイル自体は読みにくくなります