[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/19 02:05 / Filesize : 264 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

〓Mathematica〓



1 名前:132人目の素数さん [2001/03/20(火) 02:34]
ないので立てました。
Mathematicaについて語るスレです。

大学で初めて出会った時は感動したなぁ。(NeXT版…)
Plot3Dでよく遊んだものです。
四次方程式の一般解を出力して、壁に貼ったりしてました(w

810 名前:132人目の素数さん mailto:sage [03/11/19 10:42]
>>808
カーネルの中の人も大変だからな

811 名前:supermathmania ◆ViEu89Okng [03/11/19 12:51]
いいこと教えてあげよう。
Mathematicaを使うときは、なるべく他のアプリケーションは切る。
これを守れば今日からジンセイバラ色(?)

812 名前:supermathmania ◆ViEu89Okng [03/11/19 12:54]
私がいつかやってしまった事だが、
TeXのdviファイルのプレビューと、Mathmaticaを同時に動かしたとき、フリーズした。
気をつけよう。

813 名前:132人目の素数さん mailto:sage [03/11/19 14:41]
>>810
そういえば中の人などいないって聞かないね。
これも中の人がいるということが広く認知されたということか。

814 名前: [03/11/19 15:41]
a

815 名前:132人目の素数さん [03/11/19 17:59]

811 名前:supermathmania ◆ViEu89Okng :03/11/19 12:51
いいこと教えてあげよう。
Mathematicaを使うときは、なるべく他のアプリケーションは切る。
これを守れば今日からジンセイバラ色(?)



              ジンセイバラ色(?)


パシャ パシャ  パシャ パシャ パシャ  パシャ パシャ パシャ パシャ パシャ パシャ
   パシャ パシャ パシャ パシャ パシャ  パシャ パシャ パシャ  パシャ  パシャ 
 ∧_∧     ∧_∧     ∧_∧  ∧_∧    ∧_∧     ∧_∧
 (   )】      (   )】    (   )】 【(   )    【(   )    【(   )
 /  /┘ .   /  /┘.    /  /┘ └\\    └\\   └\\
ノ ̄ゝ     ノ ̄ゝ      ノ ̄ゝ     ノ ̄ゝ     ノ ̄ゝ     ノ ̄ゝ


816 名前:132人目の素数さん mailto:sage [03/11/19 19:48]
>>811
おまいの環境がわかるわw

817 名前:132人目の素数さん [03/11/22 02:47]
行列を貼り付けたのですが
Dimensions[a]で実行したところ
Out[数字]={100,100}とならずに
{1,100}
Out[数字]={100}
と成ってしまいます。{1,100}ならわかるんですが、、

問題解決できるひといませんか?(これだけではわからないかな・・・)

818 名前:132人目の素数さん mailto:sage [03/11/22 11:08]
>817
行列ってのは
{ {a1 , a2 , ... } , { b1 , b2 , ... } , ... }

てな形なので、2つの階層のどっちかで
, コンマが抜けているのでは。。。





819 名前:132人目の素数さん [03/11/22 17:09]
supermathmaniaって実社会でも干されてんの?

820 名前:132人目の素数さん [03/11/22 23:01]
マセマティカでべき級数展開ってできますか?

821 名前:132人目の素数さん [03/11/22 23:05]
すいません、ちょっと質問なんですけど、
教科書で使われてるような図をMathematicaで作成したいのですけど、
ある領域を斜線で塗りつぶすような事ってできますか?

822 名前:132人目の素数さん [03/11/22 23:55]
>>821
液晶汚してもいいならできるよ

823 名前:132人目の素数さん mailto:sage [03/11/23 00:17]
>>821
色塗はできるが斜線は自分で引くしかないんじゃないか。

824 名前:821 mailto:sage [03/11/23 00:58]
そうですか、わかりました〜ありがとうございます。
自分で作ってみますね。

825 名前:132人目の素数さん [03/11/23 22:21]
>>807
www.synapse.ne.jp/~dozono/math/anime/cycloid.htm


826 名前:132人目の素数さん [03/11/25 13:17]
>>818
ありがとうございます。違うところでの入力ミスでした。
でも、数百×数百の逆行列を計算しようとして、結果メモリー不足になり
計算できませんでした。普通のPCでこんな計算するのが間違ってましたw

827 名前:132人目の素数さん [03/12/04 03:09]
EmacsのMathematica-modeなんてあるのを知った。
フロントエンドよりマシな環境ができたらうれしいな〜。

とりあえずコマンドの補完とか括弧の補完とか
それくらいやってほしいなぁ…

828 名前:_ [03/12/05 03:31]
windows でmaximaをtexmacsで起動できた人っている?
両方インストールした(texmacsのみcygwin)けどtexmacsでmaximaを起動しようとすると,
bad url in "complete"
というerrorが表示され終了されます。できた人がいれば教えてください




829 名前:132人目の素数さん [03/12/05 05:12]
MATHEMATICAって値段が高過ぎ。生協価格が20万円を超えている。
ふざけるなって言いたい。しかも毎年バ-ジョンアップが出てて、
アップデ-トに半額以上払わされる。なんだかぼられているのじゃ
ないのかな? アメリカだと10分の1の値段だったりしない?

830 名前:132人目の素数さん mailto:sage [03/12/05 05:51]
>>829
アカデミック価格だと、まあまあ買える値段だよ。

831 名前:132人目の素数さん mailto:sage [03/12/05 08:38]
>828
環境が違うのでなんともいえないが
locate コマンドの db がまだ更新されていないのでは?
僕はそうでした。

>829
1/10 ということはない。まあ実質半分かな
向こうでは $2000 を超えていないはず。
日本は、日本語環境 5 万円に1年保守費30%
強制付きだからね。
もう個人は買うなってこと。。。
10年前は海外から3万円でアップデートして
くれたのにな

832 名前:_ [03/12/06 06:13]
>>831
レスthx。更新しても駄目でした。
xmaximaは動くのですがmaximaをcygwinのxtermで動かす事ができなかったので,
その辺が原因だと考えてます。誰か分かる人いたら教えてください。
激しくすれ違いスマソ

833 名前:132人目の素数さん mailto:sage [03/12/06 23:45]
you should not ever use Japanese.

834 名前:132人目の素数さん [03/12/07 10:07]
{{a,b},{c,d},{e,f}}のようなリストを
{a,b,c,d,e,f}にする簡単な方法はありませんか?


835 名前:132人目の素数さん mailto:sage [03/12/07 10:43]
Flatten[%]でいけました。よごし失礼。

836 名前:132人目の素数さん [03/12/07 18:02]
>829
生協に商用版がおいてあるの?

837 名前:132人目の素数さん mailto:sage [03/12/07 23:53]
この関数を

fbbs = Flatten[Cases[
ReplaceAll[{u, t},
NSolve[{fbb[#1, #2, #3, #4], fbb[#5, #6, #7, #8]}, {u, t}]],
{_Real, _Real}]]&;

こんな↓感じにする、いい方法はないかな。
目的は可読性の向上。

NSolve[{fbb[#1, #2, #3, #4], fbb[#5, #6, #7, #8]}, {u, t}]
ReplaceAll[{u, t}, %]
Cases[%, {_Real, _Real}]
fbbst2 = Flatten[%]&

↑の方法だとうまくいかないのです。
Flatten[%]がそのままはいってしまいます。


838 名前:132人目の素数さん [03/12/08 16:31]
>>836
Student版が29000で売ってる
software.univcoop.or.jp/products/mathematica/student.html



839 名前:132人目の素数さん [03/12/10 20:33]
MATHEMATICA4.0をUNIXにインストールしようと思ったのですが、
パスワードだけ書き残していてライセンスIDをなくしてしまっていました。
さてここで問題です。
いったい私はどうしたら良いのでしょうか?

840 名前:132人目の素数さん [03/12/10 20:43]
ノーヒントですか?
相談なしですか?

841 名前:132人目の素数さん mailto:sage [03/12/10 22:05]
>>840
俺のライセンスIDなら・・・

842 名前:132人目の素数さん [03/12/11 11:35]
ライセンスIDってCD-ROMの袋に書いてなかったっけ?
ライセンスIDって無くしたら大変な気がするけど。。。

843 名前:132人目の素数さん [03/12/11 12:27]
誰かただでください!

844 名前:132人目の素数さん mailto:sage [03/12/11 15:33]
C言語から評価式と、入力したパラメータをMathematicaに送り,Mathematicaで計算,
結果をCプログラムに返して表示される、というものを作ろうとしています.
で,関数を書いてみたのですが,いくつかわからない点がありましたので質問させてください.

@MathKernel.exeのパスの指定はどのようにするのでしょうか?
CプログラムのほうからMathKernel.exeのパスを指定し,char変数PATHに格納してあるとすると,
link = MLOpenString(env, "-linklunch -linkname 'PATH'", &err);
でいいのでしょうか?

Aパッケージの読み込み時に使うのは以下のようにMLPutStringで良いのでしょうか?
MLPutFunction(link, "Get", 1);
MLPutString(link, "Package");

B一時変数はC言語側で定義するのでしょうか?
たとえば,以下の評価式で変数y,zはCプログラムのほうから入力するとき,y,zはC言語側で定義しますが,一時変数xもC言語側で定義するのでしょうか?(用いる変数はMathmatica内部で使用するのみであってもすべてCで定義するのでしょうか?)
temp = y + z
x = temp^temp

845 名前:844 mailto:sage [03/12/11 15:34]
C定義関数f[t_]=〜を送信するのはどうすれば良いのでしょうか?
f[Pattern[t, Blank[]]から,以下のようにしてみたのですが・・・

MLPutFunction(link, f, 1); //←これでいいのか?
MLPutFunction(link, "Pattern", 2);
MLPutDouble(link, t);
MLPutFunction(link, "Blank");

D(x^y + z)のように関数Plusの引数に関数Powerが入っている場合,送信するのは
MLPutFanction(link, "Plus", 2);
MLPutFanction(link, "Power", 2); //←ちゃんとPlusの引数と見なされるのか?
MLPutInteger(link, x);
MLPutInteger(link, y);
MLPutInteger(link, z);
でいいのでしょうか?

長くなりましたが,よろしくお願いします m(_ _)m

846 名前:844 mailto:sage [03/12/11 15:36]
Bに関して・・・
一時変数xも→一時変数tempと結果を代入する変数xも
の間違いです

847 名前:こてはん [03/12/11 19:35]
>>842
それほんと?
探してみたら俺のも行方不明でした・・・。
ピンチ?

848 名前:132人目の素数さん mailto:sage [03/12/11 22:06]
>>843
ヤフオクに出てる違法コピー買って摘発されてくださいw



849 名前:132人目の素数さん mailto:sage [03/12/11 22:29]
今M2で今年で卒業なんだけど
卒業までにstudent版を買ってら、来年も問題なく使えますか?
それとも自動的にライセンスが切れる仕組みになってるの?
卒業までに残りの貯金でソフトを購入する覚悟はできたのですが。

850 名前:837 mailto:sage [03/12/12 00:30]
>>844

E:\Program Files\Wolfram Research\Mathematica\4.0\AddOns\
MathLink\DevelopersKits\Windows\UnsupportedGoodies\VCFE\Source\

ヘルプのアドオンMathLink当たりにすべての答えがあると思います。

自作のprogramはwrapper classを作って
頭にMLの文字とMLINKの引数が無いのでそれを前提として読んで見てください。

1、これを渡していました。

"-linkname \'\"E:\\Program Files\\Wolfram Research\\Mathematica\\
4.0\\MathKernel.exe\" -mathlink\' -linkmode Launch";
err checkはしていませんでした。

> link = MLOpenString(env, "-linklunch -linkname 'PATH'", &err);
ちゅうかsprintfしないと……。

2、たぶん、EndPacket();が必要です。


851 名前:837 mailto:sage [03/12/12 00:30]
3、y + zとtemp ^ temp を複数のPutFunctionでやる場合は結果を受け取る時に必要です。
それを一つの関数にしてしまいひとつのPutFunctionでやる場合は必要ありません。
F.E.
y + z
temp^temp
それぞれ送信する場合、それぞれ答えが帰ってくる。
x = (y + z) ^ (y + z)
これなら一つの結果しか返ってこない。
temp = y + z
x = temp^temp
これを一気に送信したら、2つの答えが帰ってくる。
temp = y + z;
x = temp^temp
たぶんこうして一気に送信したら一つだけだと思う。

4、初期化時に
char *型の配列を用意して関数を登録(VCFEのサンプルにあるEvaluateを呼び出し)
してそれをPutFunctionしている。
つまり
fx = f[Pattern[#1, Blank[]]&;
を登録して
PutFunction(fx, 1);
PutDouble(t);
EndPacket();

852 名前:837 mailto:sage [03/12/12 00:31]
5、それはよくわからないからtry&errorで。
僕の場合は4の通り、使う関数をすべてあらかじめ登録してから使っています。

おまけ、
EndPacket後に、答え以外のパケットが帰ってくる場合の処理が面倒です。
それは試行錯誤してみてください。

たぶん例に出したような簡単な処理をするのではないと思いますが、
もし桁数を考えないで計算したいのであれば、多倍長 ライブラリで検索して見てください。
GMP,NTLがおすすめ。

むむむ、質問に答える事で、自分の質問の答えがわかった。thank you。

853 名前:132人目の素数さん [03/12/12 12:03]
>>847
ホントだよ。
今使えてるならば

C:\Program Files\Wolfram Research\Mathematica\4.2\Configuration\Licensing\mathpass
ってファイルにライセンス情報が書かれていて
そこにちゃんとライセンス番号もあるから大丈夫
今の内に控えておこう。

ちなみにこのmathpassファイルはOSを再インストールしなかったら使い回しできる。
いちいちWolframにパスワードを聞かなくて済むので便利。
OSを入れ替えたり、別のパソコンにインストールしようとした場合は
MathIDが変わるからWolframのお世話にならないとダメ。


ライセンスIDが完全に分からない場合はどうするのかねえ。
Wolframに聞いてみるとかか?
>>839はパスワードはあるみたいだし、是非聞いて欲しい。
報告待ってま〜す。



854 名前:132人目の素数さん mailto:sage [03/12/12 12:09]
>>849
問題なく使えるけどライセンス違反だぞ。
次回パスワードをもらうときに、困ったりするかもしれなかったりするかもしれない。。。


たぶん困らないけど。。。



昔はWolframに英語のメール出したりしてパスワード再発行しないといけなくて大変だった。
英語苦手だから、訳分からない文章だったろうなぁ。。。
Hey!とかから始めたし。

855 名前:132人目の素数さん mailto:sage [03/12/12 12:30]
>>849
俺もstudent版買ってパスワードもらう時、卒業時期を
思いっきりごまかしといたからだいぶ使えそう。
アップグレードもしないと思うし。

856 名前:844 mailto:sage [03/12/12 18:45]
>>850
とても詳しいお答えありがとうございました.
提示していただいたサンプルプログラムやヘルプも参考にしてみたのですが,下記の点についていまいちわかりませんでした.

@
>> link = MLOpenString(env, "-linklunch -linkname 'PATH'", &err);
>ちゅうかsprintfしないと……。

wsprintf(launchstring, " -linklunch -linkname '%s'", PATH);
link = MLOpenString(env, launchstring, &err);
としてみたのですが,提示していただいたサンプルプログラムを見てみると,LinkProtocolの指定を行っていますが,これは必要あるのでしょうか?

A
>たぶん、EndPacket();が必要です
パッケージ読み込みの送信をしてMLEndPacket(link);を送信,その後に評価式の送信を行う場合はMLNextPacket(link);を送信する必要があるのでしょうか?

B
>y + zとtemp ^ temp を複数のPutFunctionでやる場合は結果を受け取る時に必要です。
>それを一つの関数にしてしまいひとつのPutFunctionでやる場合は必要ありません。

y + z の結果tempの値をCプログラムの方に返さない、つまり
temp = y + z;
を送ってやれば,変数定義する必要はないということでしょうか?
またtemp = y + z;の送信をする際,
CompoundExpression[Set[temp, Plus[y, z]], NULL]
の引数NULLを送信するときの関数は何を用いるのでしょうか?

857 名前:844 mailto:sage [03/12/12 18:47]
C
大変恐縮ではありますが,関数の登録について詳しく教えていただけないでしょうか?
VCFEのEvaluate関数のところを見てみたのですが,正直なところほとんどわかりませんでした・・・
もちろん自分で理解しようと勉強してはいるのですが,苦戦している状況です・・・

D
VCFEをビルドしてみたところ
LINK : fatal error LNK1104: ファイル "..\..\..\..\Program Files\Microsoft Visual

Studio\VC98\Lib\ml32i2m.lib" を開けません。
とエラーが出てビルドできません.ml32i2m.libは
C:\Program Files\Microsoft Visual Studio\VC98\Lib
にコピーしたのですが,できませんでした.他に何が必要なのでしょうか?

当方MathematicaもC言語も学び始めて間もないので理解が浅く,お手数とは存じますがよろしくお願いしますm(_ _)m


858 名前:839 [03/12/12 21:01]
>>853
むぅ〜、mathpassに身に覚えの無い数字とアルファベットが
タブ区切りで入っているのですがこれをどう理解すればよいの?



859 名前:837 mailto:sage [03/12/13 00:27]
>>844,856-857
*LNK1104を調べて見て。
ようはlibはcopyをするだけで使えるようになるわけではなく、
リンカにこのlibを使うと教えてあげなければ、使えるようにはなりません。
VisualStadioのプロジェクトのプロパティでリンカの部分で指定してあげてください。

また、libはcopyするのではなく、libがあるフォルダのパスを通してあげてください。
menu,ツール->オプション,プロジェクトでライブラリファイルが指定できるはずです。
(VS.Net 2003であれば)

*僕もMathLinkをバリバリ使っているというわけではないので、間違えが含まれるかも知れません。それを前提として読んでください。
僕の前の発言は少し間違いがふくまれているかもしれません。
こちらでEvaluate関数を改造してしまっていたので、そのまま式を渡しても自作関数を
登録(定義)したことにはならないかもしれませんし、いけるかもしれません。try&errorで。

*MathLinkは二種類の式の呼び出し方をサポートしています。

ひとつは関数を指定して、値を一つずつ渡す方法。
PutFunction("Plus", 2);
PutReal(hoge);
PutReal(hage);
EndPacket();

もうひとつが、式の文字列をそのまま渡す方法。(TextPacketかEnterTextPacket
(違いはみていない)の関数の引数として式の文字列を渡す。)

PutFunction("TextPacke"/*不安*/, 1);
PutByteString((const BYTE *)"hoge + hage");
EndPacket();

860 名前:837 mailto:sage [03/12/13 00:27]
上の例だとGetReal();で答えを取れるはずですが、
下の例だとhelpファイルを見れば分かりますが、答えがそのまま文字列として
帰ってくるので、GetString(&OutputString);でとればOKです。

VCFEのEvaluate関数は下の例でやっています。

*関数の定義は別に難しい事をやっているわけではなく、
Mathematica上で関数の定義をするのとまったく一緒です。

// ベジェ曲線を媒介変数tを指定しxyposを取得
// #1 t #2 q0 #3 q1 #4 q2 #5 q3
char szInit_fb[] = "fb = (1 - #1)^3 #2 + 3(1 - #1)^2 #1 #3 + 3(1 - #1)#1^2 #4 + #1^3 #5&;";
// #1 t #2 q0x #3 q0y #4 q1x #5 q1y #6 q2x #7 q2y #8 q3x #9 q3y
char szInit_fb2[] = "fb2 = List[fb[#1, #2, #4, #6, #8], fb[#1, #3, #5, #7, #9]]&;";

この二つの式をMathmatica上で定義しておけば、
fb2[(* 略 *)]
と打ち込むだけで答えが返ってきます。
同じように自作プログラムでは、あらかじめEvaluate関数で上の二つを定義しておき、使う時に
PutFunction("fb2", 9);
/* 略 */
EndPacket();
で答えが返ってきます。

あとNullは固定シンボルであるようです。helpファイルを。

861 名前:132人目の素数さん [03/12/13 09:30]
>>858
どう理解って…
そんなの他人に入れてもらったとしか理解できんよ。。。
割れてるんじゃないの?

862 名前:858 [03/12/13 09:43]
>>861
自分で入れたんだけどね、
あそこにはパスなどの情報がそっくりそのままの状態で入ってるの?
識別できたのは自分で任意にいれた名前と所属ぐらいだったよ。

863 名前:132人目の素数さん [03/12/13 15:52]
>>862
そうだよ。
ライセンスIDとかMathIDとかパスワードがそのまま入ってる。
だから同じパソコンに同じOSをインストールして、
そこに同じMathematicaを入れたなら
このmathpassファイルはそのまま使える。

Wolframにパスワードを聞いても、全く同じものが返ってくるしね。
これは自分で確かめた。

864 名前:厨房君 [03/12/13 18:02]
わしは某大学の研究室でwindowsとlinux両方にインストールしているのだが
linuxのほうはmathpassにそのままデータが入っていたが
確かにwindowsのほうはデータがそのまま入っているようには見えないなぁ
ちなみに4.0でーす。

865 名前:132人目の素数さん mailto:sage [03/12/13 20:33]
>>864
そう?
俺はWindows2000でMathematica4.2だけど
全部そのまま入ってるよ。

まずパソコン名
その次がMathID
そしてライセンスID
パスワードで
最後がユーザー名

そのまま入ってるよ。

866 名前:858=862 [03/12/13 23:47]
>>865さん
もし問題が無ければ自分の手元にあるパスとmathpassに入っている
(タブで)4つめにあるデータを書き込んで一体どういうことなのか、
更に(タブで)3つめのデータからライセンスIDを推測するには
どうしたらよいかご教授いただきたいのですが、
問題ありですかねぇ。

867 名前:132人目の素数さん [03/12/14 03:13]
>>866
パスワードの方は公開しても何も問題ないと思う。
個々のMathematicaごとに違うから、バレても意味無いしね。

ライセンスIDの方はWolframとやりとりする時に必要そうだから
公開するのはやめた方がいいんじゃないかな?
そのmathpassに書いてある、訳分からない文字列の4番目の方も
そこからライセンスIDが分かったら困るしやめた方がいいかもね。

868 名前:132人目の素数さん [03/12/14 17:02]
ですよねぇ。とほほ・・・



869 名前:132人目の素数さん [03/12/14 17:43]
>>868
パスワードの方だけでも見せてくれない?
そのままじゃないってのがどういう状態なのか見てみたいです。
4番目の所だけ伏せて見せてくれたらベスト。

870 名前:868 [03/12/14 22:07]
>>868さん
一応部分的に*(中身は数字です)でふせておきます。
mathpassに入っていたデータをタブの順番通りにコピペすると以下の通りです。

aaaa <-自分で任意に入力しました。
**90F64AED623BCB72B3168A
F76EA93EB4840346902DCBE4A72B8F47E89417B223**
28495937**
aaaa <-自分で任意に入力しました。
aaaa <-自分で任意に入力しました。

です。
ちなみに手元のパスワードは
「49874-10775-47982-49844-53548-***」
です。
>>865の順番通りだとすれば
どう理解すればいいのやら・・・。

871 名前:132人目の素数さん mailto:sage [03/12/15 00:08]
自分で任意に入れたって部分がよく分からないけど
(ユーザー名とパソコン名?じゃもう一つはなんだろ…)
それじゃあライセンスIDは分かりそうもないね。。。

872 名前:844 mailto:sage [03/12/15 22:21]
>>859,860さん
丁寧にありがとうございました。
教えてくださったこととVCFEを参考にしてソースを書いてみたいと思います
またなにかありましたらよろしくお願いしますm(_ _)m

873 名前:大学生 [03/12/17 20:22]
ParametricPlot3Dでメビウスの輪の描き方教えてください。
よろしくお願いします。

874 名前:132人目の素数さん mailto:sage [03/12/17 22:16]
ヘルプに載ってるよ

875 名前:873 [03/12/17 23:33]
ヘルプ見たんですがトーラスしかのってませんでした。どうか教えてくださいませんか?
お願いします。

876 名前:837 mailto:sage [03/12/18 16:20]
mathworld.wolfram.com/MoebiusStrip.html

877 名前:837 [03/12/19 02:31]
これすげぇ
メビウスの歯車だ。
mathworld.wolfram.com/gifs/moebgear.gif


878 名前:132人目の素数さん mailto:sage [03/12/19 03:13]
notebookも落とせるところがよいね



879 名前:844 mailto:sage [03/12/20 17:47]
CプログラムのほうからMathKernel.exeを立ち上げることができましたので,簡単な例をやってみようと思い,
和を計算させるソースを書いてみました.以下はその一部です

char expr[] = "2^4 + 3^2";
const char *OutputString;

case IDC_EVALUATE:
MLPutFunction(link, "EvaluatePacket", 1);
MLPutFunction(link, "ToExpression", 1);
MLPutString(link, expr);
MLEndPacket(link);
MLFlush(link);

while (MLNextPacket(link) != RETURNPKT)
MLNewPacket(link);

MLGetString(link, &OutputString);
wsprintf(szBuf, "OutputString = %s", OutputString);
MessageBox(hDlg, szBuf, "Debug", MB_OK);
MLDisownString(link, OutputString);

MLNewPacket(link);

return TRUE;

この例だとうまく行くのですが,
結果を取得する部分を,この場合は答えは25であり明らかに整数ですので,
MLGetIntegerを用いてみるとアプリケーションエラーで終了してしまいました.
MLGetIntegerなどはどのような場合に使用するのでしょうか?

880 名前:844 mailto:sage [03/12/20 17:48]
また,ほかの評価式の場合,例えば
char expr[] = " Solve[{x + y == 5, 3x + 5y ==13}, {x,y}]";
といった連立方程式の評価を試みてみたところ,同様にアプリケーションエラーが出て終了してしまいました.
結果の取得に用いる関数がMLGetStringでは正しくないためと思われるのですが,どの関数を用いて結果の取得を行えばいいのでしょうか?
MLGetRealList等試してみたのですが,うまくいきませんでした.

よろしくお願いします

881 名前:837 mailto:sage [03/12/21 17:07]
EvaluatePacket & ToExpression でもいけるんですね。
違いはわかりませんが、TextPacke、EnterTextPacketと同じく
式を文字列でおくり、結果を文字列で返す関数だと思います。

結果をGetIntegerでもらう場合はこうです。
PutFunction("Plus", 2);
PutInteger(1);
PutInteger(1);
EndPacket(link);

下の例は、GetStringでいいはずです。
VCFEで投げるとうまく行く&エラーメッセージが
返ってくるような式ではないので
EvaluatePacket & ToExpressionがまずいか、
EndPacketから、GetStringの間の処理がまずいかどちらかです。

882 名前:837 mailto:sage [03/12/21 17:12]
ToExpressionですね。

In[373]:=
EvaluatePacket[ToExpression[{x + y == 5, 3x + 5y == 13}]]

\:6B21\:3088\:308A\:FF1AIn[373]:=
ToExpression::"notstrbox": "\!\(\(\(x + y\)\) == \
5\)h文字列あるいはボックスではありません.ToExpressionは文字列かボ\
ックスだけをMathematica入力として解釈することができます."

\:6B21\:3088\:308A\:FF1AIn[373]:=
ToExpression::"notstrbox": "\!\(\(\(\(\(3\\ x\)\) + \(\(5\\ y\)\)\)\) == \
13\)h文字列あるいはボックスではありません.ToExpressionは文字列かボ\
ックスだけをMathematica入力として解釈することができます."

Out[373]=
EvaluatePacket[{$Failed, $Failed}]

In[374]:=
EvaluatePacket[ToExpression[2^4 + 3^2]]

Out[374]=
EvaluatePacket[25]

883 名前:132人目の素数さん [03/12/22 10:54]
a,b,tをパラメータにしてグラフにしたいんですが,うまくいきません。
bのところを数字にすればできました。どうしたらいいでしょう?
sol = Table[NDSolve[{x''[t] == aCos[((b - a)) t^2] - bSin[((b - a))t^2],
           y''[t] == aSin[((b - a) t^2] + bCos [((b - a)) t^2],
         x[0] == 0, y[0] == 0, x'[0] == 0, y'[0] == 0},
         {x, y}, {t, 0, 1}],
      {a, (-1), 1, 0.2}, {b, (-1), 1, 0.2}];
ParametricPlot[Evaluate[{x[t], y[t]} /. sol], {t, 0, 1},
PlotRange -> {{0, 3}, {0, 3}}]です。


884 名前:132人目の素数さん [03/12/22 12:16]
Mathematica で、整数や多項式の行列の単因子(不変因子)を求めるには
どうしたらいいんでしょうか?
Maple だと、smith や ismith という関数があるんですが・・・

885 名前:132人目の素数さん mailto:sage [03/12/24 00:40]
>>883
このスレの一番最初にある関数は違うかな?

886 名前:132人目の素数さん [03/12/26 11:03]
FrameLabelのフォントサイズを指定するにはどうすれば良いのでしょうか?
FrameStyle->{FontSize->36}とか設定してもFrameLabelのフォントサイズ
は変わりません。

887 名前:844 mailto:sage [03/12/27 15:22]
>>837さん
遅レスになりましたが、レスありがとうございました
参考にさせていただき、がんばってみます

888 名前:132人目の素数さん [04/01/04 12:08]
age



889 名前:844 mailto:sage [04/01/07 20:43]
879について再度教えていただけないでしょうか?

EvaluatePacket[ToExpression["Solve[{x + y == 5, 3x + 5y ==13}, {x,y}]"]]
としてMathematicaのほうで計算するとできたのですが,
char expr[] = "\"Solve[{x + y == 5, 3x + 5y ==13}, {x,y}]\"";
MLPutFunction(link, "EvaluatePacket", 1);
MLPutFunction(link, "ToExpression", 1);
MLPutString(link, expr);
とCのほうから送信してやってMLGetStringで受信しても,答えのほうにSolve[{x + y == 5, 3x + 5y ==13}, {x,y}]が出てきて不正な処理落ちしてしまいます・・・

また、VCFEのように,
char expr[] = "Solve[{x + y == 5, 3x + 5y ==13}, {x,y}]";
MLPutFunction(link, "EnterTextPacket", 1);
MLPutByteString(link, (const unsigned char*)expr, strlen(expr));
MLEndPacket(link);
で送信
MLGetString(link, &OutputString);
で受信というようにしてみたのですが,こちらもうまく行かず処理落ちしてしまいました・・・

どうすればよいのでしょうか?正直お手上げ状態です・・・

890 名前:837 mailto:sage [04/01/09 11:33]
VCFEと同じようにして落ちるって言うのはありえないから、
同じように出来ていないって事では。
Debugger立ち上げて一行ずつどう処理しているかみてみるといいよ。

たぶん、必要なFlash関数の呼び出しとかをしていないんだと思うよ。

891 名前:132人目の素数さん [04/01/09 14:37]
どなたか
Fourierseriesexpansion[1/(Pi+Cos[x])]
をしてください。

892 名前:132人目の素数さん mailto:sage [04/01/09 23:37]
In[1]:=
Fourierseriesexpansion[1/(Pi + Cos[x])]

Out[1]=
\!\(Fourierseriesexpansion[1\/\(π + Cos[x]\)]\)

ウェブ全体から検索日本語のページを検索
ウェブ イメージ グループ ディレクトリ




Fourierseriesexpansionに該当するページが見つかりませんでした。
"fourierseriesexpansion"を含むページは見つかりませんでした。



893 名前:132人目の素数さん [04/01/10 02:37]
初心者ですが、質問させてください。
Version5で新機能となったMaximizeって機能を使いたいのですが
私のVersionが古くて使えません。

そこで関数に領域を与え最大値を求める関数を実装したいと思いますが
どのようにしたら良いのでしょうか。
教えてください、お願いします。

894 名前:837 mailto:age [04/01/11 20:14]
ベジェ曲線の長さを求める式の不定積分を無理やり計算しようとしているのですが、
僕のマシンが非力なのか計算できません。
どなたかできませんか?
もし計算を途中で止める場合はAlt+.かAlt+,です。

(* www.interq.or.jp/www1/anzawa/doc/doc3.htm *)
(* #1 == t; #2,#3,#4,#5 == 1234 ;*)
fb = (1 - #1)^3 #2 + 3(1 - #1)^2 #1 #3 + 3(1 - #1)#1^2 #4 + #1^3 #5 &;

(* 媒介変数表示で表されたた曲線の長さを求める式
NIntegrateにして、x1などに値を入れ、2番目の引数を{t, 0, 1}にすれば求められる *)
Integrate[Sqrt[(fb'[t, x1, x2, x3, x4])^2 + (fb'[t, y1, y2, y3, y4])^2], t];

895 名前:837 mailto:age [04/01/11 20:22]
>> 893
やったことないけど
FindRoot, FindMinimum, ConstrainedMin, ConstrainedMax,
あたりかな?
素直にヴァージョン上げるのが一番早いと思うよ。

896 名前:844 mailto:sage [04/01/12 23:20]
>>837さん
レスありがとうございます
おっしゃるとおりFlash関数呼び出していませんでしたので,やってみます

グラフィック描画はどのようにすればよいのでしょうか?
(VCFEで簡単なプロットをさせてみようとしてもエラーが出て描画できないのですが,実装されていないのでしょうか?)

VCFEのソースを見たのですが、いまいちよくわかりません
WMFファイルのオープン?とかさっぱりです・・・
プロット画像情報のWMFファイルが作成されていて,それをOpenWMFFileで読み込み,DisplayGraphicで表示させていると解釈していいのでしょうか?
とすればどこにWMFファイルが作成されているのか等々問題点は尽きないのですが・・・

また,DISPLAYENDPKTが来ると描画させているようですが,DISPLAYPKTのときはどのような処理を行っているのでしょうか

?グラフィックウインドウに空文字列または出力文字列を表示させようとしているみたいですが・・・

質問ばかりで申し訳ありませんがよろしくお願いします

897 名前:837 mailto:sage [04/01/13 02:27]
>>894を無理やり計算して見ました。結果は押して知るべし。

FullSimplify[Sqrt[(fb'[t, x1, x2, x3, x4])^2 + (fb'[t, y1, y2, y3, y4])^2]]
(* 出てきた答えのルートの中の式をhogeとしてベキ級数展開 *)
Series[hoge, {t, 0, 4}]
(* そんでこんな形になると仮定。本当は係数の英文字の順が逆がいいな *)
f[t_] := 3 Sqrt[AA + BB t + CC t^2 DD t^3 + EE t^4]
(* どうぞ *)
Integrate[f[t], {t, 0, 1}]

>>896
> グラフィック描画はどのようにすればよいのでしょうか?
> (VCFEで簡単なプロットをさせてみようとしてもエラーが出て描画できないのですが,実装されていないのでしょうか?)
そう?
一番最初に設定されている式は結構時間かかるから待って見てごらん。
Plot3Dのサンプルにある下の式とか問題なく表示できたよ。
Plot3D[Sin[x y], {x, 0, 4}, {y, 0, 4}, PlotPoints -> 40, Mesh -> False,
FaceGrids -> All, AxesLabel -> {"Length", "Width", "Height"}];
Plotのサンプルは続けてやらないとダメダヨ。
t = {Sin[x], Sin[2x], Sin[3x]};
Plot[t, {x, 0, 2π}];
pp = Plot[Evaluate[t], {x, 0, 2π}];

> WMFファイルのオープン?とかさっぱりです・・・
たぶんWMFの知識とかソースが何をやっているか理解できないんでしょう(^^;
ソースに書いてある事をすべて説明する余裕はないので、
C言語の本などを読んで見てください。
言語の説明は板違いになるので、プログラム技術板でお待ちしています。

898 名前:837 mailto:sage [04/01/13 02:39]
ここでも出来た!
3 Sqrt[AA + BB x + CC x^2 + DD x^3 + EE x^4]
integrals.wolfram.com/
でも横が切れちゃってる……。



899 名前:844 mailto:sage [04/01/13 15:37]
>>837さん
デフォで入力してあるPlot3Dを実行してみると
OpenTemporary::noopen:
Cannot open C:\\DOCUME~1\\\214\212\340V\215G\216\:8180\\LOCALS~1\\Temp\\000001a01440.
Part::partd: Part specification $Failed \:301A 1 \:301B
is longer than depth of object.
Part::partd: Part specification $Failed \:301A 1 \:301B
is longer than depth of object.
General::stream:
$Failed is not a string, InputStream[ ], or OutputStream[ ].
Display::fname: Filename $Failed [[ 1 ]] is not a string.

とエラーが出てしまうんですよね・・・
多分WMFファイルが開けないって言ってると思うんですが・・・
(ソース等は何もいじってません)

900 名前:844 mailto:sage [04/01/13 16:13]
tempフォルダのパスに2バイト文字が入っていたのがいけなかったようで,
環境変数からパスを変更してみたところ表示できるようになりました

お騒がせしました・・・

901 名前:837 mailto:sage [04/01/13 20:19]
(,,゚Д゚) ガンガレ!

902 名前:132人目の素数さん mailto:sage [04/01/14 14:00]
PolarPlotを実行しても、なぜか命令文と同じ文が表示されて、
グラフが描かれません。
どのようにすればグラフが描かれるようになるのでしょうか?
教えてください。お願いします。
Version5です。

903 名前:837 mailto:sage [04/01/15 01:36]
<< Graphics`Graphics`

904 名前:902 mailto:sage [04/01/16 16:53]
>>903
さんくす

905 名前:132人目の素数さん mailto:sage [04/01/16 17:53]
バックグラウンドを黒にすることはできないの?

906 名前:837 mailto:sage [04/01/16 18:38]
Alt+E,F
書式設定→フォント設定→(FontColor || Background)

907 名前:132人目の素数さん mailto:sage [04/01/16 19:24]
さんくす。まじで。

908 名前:132人目の素数さん mailto:sage [04/01/17 20:33]
InverseLaplaceTransform[ (12s - 6)/(4s^2 - 4s + 37) , s , t]
を使って逆ラプラス変換を求めてみたところ次のようになりました。

3/2 * ( Exp(αt)+Exp(βt)) [α=1/2 - 3i β=1/2 + 3i]

でもじぶんで計算したら、頭についてる係数が、2/3 でなくて 6 になった。。。

mathematicaのほうが合ってるんやろか?
mathematicaの計算結果って絶対正しいんかな〜

ちなみにバージョンは4でつ。



909 名前:844 mailto:sage [04/01/17 20:52]
いつもお世話になっております

ある評価をした際にグラフが2つ出力される場合,その2つをそれぞれ2つのピクチャボックスに表示させたいのですが,
どうすればよいでしょうか?

描画関連の関数はとりあえずVCFEのを流用して,改変してみたのですが,
1つ目のグラフをピクチャボックス1に表示させ,2つ目をピクチャボックス2に表示させようとすると,1つ目が表示され,その後2つ目が表示されるのですが
1つ目がなぜかクリアされてしまいます・・・

OpenWMFFile関数内のDeleteEnhMetaFileを実行しなければクリアされないかと思ったのですが,うまく行きませんでした

スレ違いかもしれませんが,VCFE関連ですのでご容赦ください

910 名前:837 mailto:sage [04/01/18 00:07]
>>908
逆ラプラス変換についてはわからないど素人ですが、
私のmathematica4で計算させましたところ、こんなんでました。
3/2 E^((1/2 - 3I) t) (1 + E^(6I t))

>>909
だって保存しているのが同じ名前だから
二つめのWMFFileが上書きされてしまうでしょう。

受け取ったWMFFileを保存するさいの名前を別のにしましょう。


911 名前:132人目の素数さん [04/01/18 00:56]
お願いがあります。
どなたかSech[at]のフーリエ変換をしてください。
FourierTransform[Sech[at], t, \[Omega]]

912 名前:837 mailto:sage おらおらおらおら [04/01/18 01:57]
In[6]:=
FourierTransform[Sech[t], t, ω]

Out[6]=
\!\(\@\(π\/2\)\ Sech[\(π\ ω\)\/2]\)

In[7]:=
FourierTransform[Sech[a t], t, ω]

Out[7]=
\!\(\(\@\(π\/2\)\ Sech[\(π\ ω\)\/\(2\ a\)]\)\/a\)

913 名前:132人目の素数さん mailto:sage [04/01/18 07:27]
フーリエ変換の係数は指定できます。ヘルプ参照。

914 名前:908 mailto:sage [04/01/18 13:06]
>>910
ごちゃごちゃ検算とかしてみたところ、ただのじぶんの計算ミスだった
みたいです。mathematicaマンセー。

ラプラス変換を使うと微分方程式が簡単に解ける。(宿題)

1.DSolveで解く
  DSolve[ {4y''[t] - 4y'[t] + 37y[t] == 0, y[0] == 3, y'[0] == 3/2} , y[t] , t ]

2.InverseLaplaceTransformしてFullSimplifyしてみる
  InverseLaplaceTransform[ (12s - 6)/(4s^2 - 4s + 37) , s , t ]
  FullSimplify[%]

結果
3Exp(t/2) * Cos(3t)

ってかんじで2通りの方法で検算してみますた。

915 名前:908 mailto:sage [04/01/18 13:15]
(12s - 6)/(4s^2 - 4s + 37)を部分分数分解するところで

A/(s−α) + B/(s−β)とやったのがまずかったみたいです。
分母の最高次の係数を1にしないとダメぽです。

1/4 * [A/(s−α) + B/(s−β)]が正しい。

部分分数分解なんて大嫌いだ〜〜

ttp://www12.plala.or.jp/ksp/formula/mathFormula/html/node60.htmlの
”三つにわかれるもの 1”が参考になりますた。インターネット、マンセー

916 名前:911 [04/01/18 14:25]
>>912
感謝。

917 名前:844 mailto:sage [04/01/18 17:35]
>>837さん
レスありがとうございます
保存というのはどこで行っているのでしょうか?

fopen関数でメタデータが入ったtempファイルを読み出して
SetWinMetaFileBitsでメタファイルを作成しているんですよね?
その作成したメタファイルを保存しているのでしょうか?
自分の見たところどこでは保存しているのかちょっとわからないです・・・

918 名前:132人目の素数さん [04/01/19 12:59]
コピーに厳しいMathematicaより
コピーに優しいMapleだろ、やっぱ



919 名前:837 mailto:sage おらおらおらおら [04/01/20 02:09]
>>917
きっとテンポラリファイルを作る関数で作ってるよ。
fopenで開いているのであれば、fopenで渡す引数が生まれたところだ。

生まれた場所へ誰もが還るのよ……。

>>918
Mapleは>>894,897,898の問題は解けますか。
解けるのであれば速攻移行します。またMathLinkみたいな
プログラムがMapleを呼び出すインターフェイスはありますか?

920 名前:844 mailto:sage [04/01/20 21:01]
>>919さん
レスありがとうございます
たびたびすみません

tempファイルを作る関数ってありますでしょうか?
DISPLAYENDPKTが返ってきたときにtempファイルのフルパスが入ったOutputStringを取得し,
それをOpenWMFFile関数のfopenにおくっていると思うのですが。
ちなみにフルパスを確認したところ,tempファイルは2つ作られていて上書きされてはいませんでした

921 名前:837 mailto:sage おらおらおらおら [04/01/21 00:19]
>>920
たぶん、きちんと二つのWMFファイルをメモリ上に読みこんでいないのでは。

いちおう二つめのWMFファイルを手に入れる前に
新たにtempfileとして一つ目のファイルをコピーしてから、メモリ上に読みこんでおき、
そして二つめのWMFファイルも同じく
新たにtempfileとしてコピーしてからメモリ上に読みこんでおき、
描画メッセージが送られてきた時に表示するようにするのが言いと思います。
ピクチャボックスならHANDLEとして渡している部分がきっとあるでしょう。
そして必要なくなったらHANDLEを閉じて、読みこんだメモリを削除して、
コピーしたtempfile達も削除すると。

922 名前:132人目の素数さん mailto:sage [04/01/21 11:45]
science2.2ch.net/test/read.cgi/math/1074420890/323です。誘導されてきました。

mathematicaを使って解かなければならないのですが
------------
番号iのつけられた壺が無限個ある。( i = 0, 1, 2, 3, ... )
色だけが違う同じ大きさの赤玉と黒玉が無限個あり,0番目の壺にはnTotal個の玉が入っている。
その内nRed0個は赤玉である。
残りの壺の中にそれぞれnTotal個の玉を順次,次の手順で入れる。
[手順]
i 番目の壺に玉を入れるときには,( i - 1 ) 番目の壺から nTotal 回玉を復元抽出し,
抽出するたびに抽出された玉と同じ色の玉を 1 個選び i 番目の壺に入れる。

試行のたびごとに確率的に定まるある番号iFixがあり,その番号iFixから先の壺の中の玉はすべて同じ色になる。
このことを色固定と呼び,最初に色固定が起こる壺の番号iFixを色固定番号と呼ぶ。
また,色固定が起こった壺の中の玉の色fixColorを固定色と呼ぶ。
固定色fixColorと色固定番号iFixはnTotalとnRed0を与えると定まる確率変数である。
その分布をmathematicaによって調べよ。(玉入れ試行を多数回行い,その結果を統計的に整理せよ。)

ヒント:
・一回の玉入れ試行は,色固定が起これば,その壺で終了してよい。
・固定色fixColorが赤である確率pRedを求めよ。
・色固定番号iFixの平均meanIFixと分散varIFixを求めよ。
・nTotalは10 〜 100程度を考えよ。
nRed0は0からnTotalまで変化させることができる。結果はnRed0にどのように依存するか調べよ。
-------------
ご教授よろしくお願いします。


923 名前:132人目の素数さん mailto:sage [04/01/21 18:33]
どこまでわかってるの?

924 名前:132人目の素数さん mailto:sage [04/01/21 19:00]
>>922
実験のフレームワークと1番目の解答まで書いてみよう。

(* GetBall : get a ball from the vase given as the args. *)
GetBall[Vase[nTotal_Integer, nRed_Integer]] :=
  If[Random[Integer, {1, nTotal}] <= nRed, Red, Black]

(* Onestep : {n, n-th vase} -> {n+1, (n+1)-th vase} *)
OneStep[{nth_Integer, v : Vase[nTotal_, nRed_]}] := {nth +
      1, (#[v] &) /@ Table[GetBall, {i, nTotal}] //
      Vase[nTotal, Count[#, Red]] &}

(* Trial returns {iFix, fixColor} *)
Trial[nTotal_, nRed0_] :=
  NestWhile[OneStep, {1, Vase[nTotal, nRed0]},
      #[[2, 2]] != 0 && #[[2, 2]] != nTotal &] /. {Vase[nTotal, 0] -> Black,
      Vase[nTotal, nTotal] -> Red}

(* pRed *)
pRed[trys_][nTotal_, nRed0_] :=
  Count[Table[Trial[nTotal, nRed0], {trys}], {_, Red}] / trys // N

925 名前:924 mailto:sage [04/01/21 19:07]
機能に影響は無いがちょっと修正
args -> arg
{i, nTotal} -> {nTotal}

926 名前:132人目の素数さん mailto:sage [04/01/21 23:27]
正直、>>924さんのを見て驚愕しています。
mathematicaの基本的な使い方しか授業では習っていなかったもので....。
この問題も解法の見当がつかない次第でした。
明日大学で>>924さんのを入力してみます。ありがとうございます

927 名前:837 mailto:sage [04/01/22 14:00]
面白いなぁ。おいらには答えられない。

928 名前:844 mailto:sage [04/01/27 17:14]
>>837さん
遅レスですがどうもありがとうございました
tempファイルをコピーしておいて,ピクチャボックスのプロシージャや
メタファイルハンドル2つ用意してやってみたらなんとかできました

また何かありましたらよろしくです^^;




929 名前:132人目の素数さん mailto:sage [04/01/27 20:42]
mapleスレがないのでこちらで質問させていただきます。
mapleのワークシートの背景を変更することはできないのでしょうか。
白だと目が痛いです・・・。

930 名前:132人目の素数さん mailto:sage [04/01/27 22:43]
Mathematica4で、ListPlotでx軸が0から1までの2次元の折れ線グラフを書いているのですが、
x軸とy軸の交点の部分の0を表示させたいです。
それと、x軸の数字というか、刻みが0.2刻みで、0.2,0.4,0.6,0.8,1とグラフが刻まれているのですが、
これを0,0.5,1の、0.5刻みにしたいです。
どのようなパラメータを与えれば、これらができるのでしょうか?
よろしくお願いします。

931 名前:837 mailto:sage [04/01/28 00:45]
>>928
ガン( ゚д゚)ガレ

>>929
ヘルプファイルを熟読した後、
Mapleのスレを建ててください。
もしくは数学ソフト一般(Mathematica以外?)のスレ。

>>930
(* x の 目盛りだけを指定する *)
SetOptions[ListPlot, Ticks -> {{0, 0.5, 1}, Automatic}]
(* ↑だと0が表示されないので、原点を少しずらす *)
SetOptions[ListPlot, AxesOrigin -> {-0.0001, -0.0001}]

(* またこれでもいい *)
ListPlot[{{0.0, 0.0}, {0.1, 0.5}, {0.3, 0.3}, {0.5, 0.4}, {1.0, 0.6}},
PlotJoined -> True, AxesOrigin -> {-0.0001, -0.0001},
Ticks -> {{0, 0.5, 1}, Automatic}]

(* こんなOptionも発見した *)
tl = ListPlot[{5, 3, 4, 6}, DisplayFunction -> Identity];
Show[tl, DisplayFunction -> $DisplayFunction];


932 名前:132人目の素数さん mailto:sage [04/01/28 01:26]
深さ優先探索
擬似コード

局所変数:g,start,edgeOrdering,adjList,checked

search(v)
checked[[v]]←True
for each u∈N(v) do
if checked[[u]] = False then
Append(edgeOrdering,{v,u})
search(u)

depthFirstSearch(G,start)
for each vertex v∈V do
checked[[v]]←False
search(start)
Return edgeOrdering

depthFirstSearchで定義される局所変数はsearchで使用する。
そのためdepthFirstSearchはBlockとする必要がある。
隣接リストを使った方が楽である。

上記の擬似コードのMathematicaのプログラムを教えて下さいm(_ _)m

933 名前:132人目の素数さん mailto:sage [04/01/28 01:57]
>>931
オオ!完璧です!
あいらぶゆー

934 名前:132人目の素数さん mailto:sage [04/01/28 16:22]
スミマセン、私もListPlotで点を連結して2Dの折れ線グラフを書いてるんですが、
複数のグラフを重ねてShowで表示させ、グラフ同士を比較したいのですが、
どれがどのグラフなのかがわかりにくくなってしまいます。
そこで、各グラフの右端、つまりx軸の最大値に対してPlotした点の右脇に、
グラフの番号を表示させて、グラフを重ねてもグラフ同士の区別がつくようにしたいのですが、
どうやればいいんでしょうか…。
親切な方、教えて下さいm(_)m

935 名前:132人目の素数さん mailto:sage [04/01/28 22:36]
>>934
ていうか色をつければいいのでは。

936 名前:132人目の素数さん mailto:sage [04/01/28 23:02]
>>935
印刷するのでカラー使えないんですよ…。
いよいよ方法がないとなったら、MSペイントか何かで直接画像に数字書き込めばいいんで
そんなせっぱ詰まってもないんですけど…。

937 名前:132人目の素数さん mailto:sage [04/01/29 14:45]
>>936
じゃあ、Legendをヘルプで。

938 名前:132人目の素数さん mailto:sage [04/01/29 19:22]
>>870

ちなみにkeygenはネットに出回ってるよ。5.0でも使える奴が。



939 名前:132人目の素数さん mailto:sage [04/01/29 22:50]
オイラー閉路の問題なんですが、

アルゴリズム

入力:オイラー閉路を持つグラフG
出力:Gのオイラー閉路
手順:任意の頂点Sから出発して、次の規則に従いたどれる辺が無くなるまで辺をたどる
   (1)たどった辺はGから除く
   (2)ほかにたどる辺が無い場合以外は橋をだどらない。

上のオイラー閉路を見つけるためのアルゴリズムを使った、アニメーションプログラムを教えて下さい!

940 名前:132人目の素数さん [04/01/31 00:14]
有限体GF(2)上の拡大体GF(2^8)の256個(0,1,α,α^2,・・・,α^254)の元
を8次元ベクトル表示した表が欲しいのですがどうすればいいか分かりません。
教えてください。よろしくお願いします。
(αは原始元,既約多項式はX^8+X^4+X^3+X^2+1です)


941 名前:837 mailto:sage [04/01/31 01:25]
>>932
擬似コードってなんですか。

>>939
この辺かな
mathworld.wolfram.com/EulerianCircuit.html
mathworld.wolfram.com/KoenigsbergBridgeProblem.html

>>940
有限体がよくわからないので、とりあえずここで検索してみてください。
mathworld.wolfram.com/

手計算で求められるのであれば、式を書きこんでおいてください。
誰かがmathematica上のプログラムに変換してくれます。

942 名前:940 [04/01/31 02:28]
>>941
アドバイス感謝します。
α^0=(0,0,0,0,0,0,0,1) α^1=(0,0,0,0,0,0,1,0) α^2=(0,0,0,0,0,1,0,0)
α^3=(0,0,0,0,1,0,0,0) α^4=(0,0,0,1,0,0,0,0) α^5=(0,0,1,0,0,0,0,0)
α^6=(0,1,0,0,0,0,0,0) α^7=(1,0,0,0,0,0,0,0)
α^8はα^8+α^4+α^3+α^2+1=0より,α^8=α^4+α^3+α^2+1
α^8=(0,0,0,1,1,1,0,1)
α^9=α^5+α^4+α^3+αより
α^9=(0,0,1,1,1,0,1,0)
とずっと計算していくとα^255=1
となります。こういうのmathematicaの関数で計算できないですかねえ?

943 名前:837 mailto:sage [04/01/31 19:29]
α^ 8=α^4+α^3+α^2+1 =(00011101)
α^ 9=α^5+α^4+α^3+α^1=(00111010)
α^10=α^6+α^5+α^4+α^2=(01110100)
α^11=α^7+α^6+α^5+α^3=(11101000)
α^12=α^8+α^7+α^6+α^4
   =α^7+α^6+2*α^4+α^3+α^2+1=(11010000)+(00011101)
   =(11011101) || (11001101)

α^12の答えはどっちだろう。
どちらにしろビット演算の繰り返しっぽいですね。

944 名前:132人目の素数さん mailto:sage [04/02/02 11:37]
アニメーションGIFについて質問です.
 
 Export["filename",graphics,"GIF"]

で出力はするのですが,それをPOWER POINTに貼り付けても動いてくれません.
Windows 画像とFAXビューアでも「描画できませんでした」と表示されます.

Internet Explorerで開いたときはちゃんと動くのですが...(しかし,ループはしません)

どうすればPOWER POINTで動くようにできるのでしょうか?
ご存知の方よろしくお願いします.

945 名前:837 mailto:sage [04/02/03 00:23]
>>944
animation GIFのloop flagがたっていないだけだから、
手ごろなanimation gif editorで、flagを立てた上に
スレ違いなのでヘルプ読め
GIF アニメーションの図をスライドに挿入する


946 名前:944 mailto:sage [04/02/03 12:37]
>>837
スレ違いなのに答えてくれてありがとうございます.
今からエディターでやってみます.

947 名前:132人目の素数さん mailto:sage [04/02/05 23:23]
Mathematicaって他のソフトと違ってバグフィックスのアップデータないけど
バグらしいバグなんてないのかな?
それはそれですごいと思うけど。

948 名前:132人目の素数さん mailto:sage [04/02/05 23:42]
>>947
あるけど直さないだけ。おれも何個も見つけた。



949 名前:132人目の素数さん mailto:sage [04/02/07 16:10]
>>948
へ〜
どんなのです?
再現性はありますか?
試してみたい。

950 名前:132人目の素数さん mailto:sage [04/02/08 15:07]
>>940
単にAlgebra`FiniteFields`を使えばいいのでは?
ヘルプ読んでみた?

951 名前:132人目の素数さん [04/02/08 15:27]
>>940

<< Algebra`FiniteFields`
fld = GF[2, {1, 0, 1, 1, 1, 0, 0, 0, 1}]
α = fld[{0, 1, 0, 0, 0, 0, 0, 0, 0}]
Table[α^n, {n, 255}]


952 名前:132人目の素数さん mailto:sage [04/02/08 21:24]
>>949
個人情報があれなので、俺(も発見した)が報告したわけではないやつを。
Integrate[D[f[x, y, t], x, t] + D[f[x, y, t], y, t], t]
が f^(0,1,0)[x,y,t] を返す(V4.2)

953 名前:132人目の素数さん mailto:sage [04/02/09 11:33]
f^(0,1,0)[x,y,t]+f^(1,0,0)[x,y,t]を返す(V3.0)

954 名前:mathematicant [04/02/09 16:10]
>952
>個人情報があれなので

つまり、御禁制品を使用していると・・・

955 名前:132人目の素数さん mailto:sage [04/02/09 16:24]
>>954
どういうロジックでそうなるんだ?
レポートしたから、おれが誰だか分かってしまうと言う意味だ。

956 名前:837 mailto:sage [04/02/10 08:10]
>>950,951
( ・∀・)つ〃∩ スゲェースゲェースゲェースゲェースゲェー
出てくるまでちょっと時間がかかるのと、bit列が左と右が逆なので注意。

957 名前:132人目の素数さん mailto:sage [04/02/13 18:48]
>>952
へ〜
バグですね
ほかのバグありますか?

958 名前:132人目の素数さん mailto:sage [04/02/14 22:38]
Table[f[i], {i, 4}] −> {f[1],f[2],f[3],f[4]}
ですが、
中カッコを外した形式
f[1],f[2],f[3],f[4]
を得るにはどうすればいいですか?



959 名前:132人目の素数さん mailto:sage [04/02/15 01:23]
>>958
Sequence@@Table[f[i], {i,4}]

(* Example *)
Plus[Sequence@@Table[f[i], {i,4}]]

960 名前:132人目の素数さん mailto:sage [04/02/16 20:25]
うちのMathematica5.0ではこの式を評価すると確実に落ちるのだが、
バグだろうか。

7910*Csc[(4*Pi)/15]*Sqrt[((-(1 -
Cos[82000/797267]^2))*Sin[(4*Pi)/15]^2 +Sqrt[(1 -
Cos[82000/797267]^2)^2*Sin[(4*Pi)/15]^4 - (-1 +
Cos[82000/797267]^2)*Sin[(4*Pi)/15]^2*(Cos[82000/797267]^2
- Sin[(4*Pi)/15]^2)])/(Cos[82000/797267]^2 -
Sin[(4*Pi)/15]^2)]//FullSimplify

961 名前:132人目の素数さん mailto:sage [04/02/16 23:06]
>>960
うちの5.0でもカーネルが落ちる。
なんでかねぇ。
フロントエンドは落ちないけど。

962 名前: ◆BhMath2chk mailto:sage [04/02/17 16:00]
MuPAD使用開始から三日。


963 名前:132人目の素数さん [04/02/19 11:16]
教えてください。

Mathematica5.0を使っています。
Eigenvalueを使って固有値を計算させているのですが、結果が「#1」といった
引数を含む表現になってしまい,計算結果を利用して解析を進めることができません。

結果の中の引数を展開する方法をお教え願えないでしょうか?

964 名前:132人目の素数さん mailto:sage [04/02/21 00:36]
>>963
変数でも入ってたの?
何をやったか書いてよ。

965 名前:837 mailto:sage [04/02/22 15:46]
>>963
そうだそうだ。
どの式がうまくいかないのかinputの式をここに書いてくれ。
君の姿は見えないんだ。help meと聞こえてもどう助けていいかわからない。

966 名前:132人目の素数さん mailto:sage [04/02/22 17:12]
>>963
ふと君がなにをいってるのか推測できた。
5次以上の行列で、固有多項式の根がRootオブジェクトになったんだろうな。
あれはRoot[関数, 引数]というもので、全体は関数じゃなくて値。
数値が欲しいならEigenvalue[A] // Nとかしとけ。

967 名前:132人目の素数さん [04/02/26 05:25]
多項式のGalois群を計算するMathematicaのパッケージってありますか?
Mapleだとgalois()って関数があるんだが。

968 名前:132人目の素数さん mailto:sage [04/02/28 09:15]
>>967
Ver.5のHelpを検索すると標準パッケージでついているようだが。
Galois fields, Algebra`FiniteFields` , Algebra`PolynomialPowerMod`



969 名前:132人目の素数さん [04/02/29 15:24]
>>938
keygenってlinuxでも動きますか?

970 名前:132人目の素数さん [04/02/29 19:54]
>Galois fields
Ver.4にもある。が整式のがろあ群を出してくれるかはしらん
ただの有限体じゃないの

>keygen
win用じゃ。linuxで動かないだろ、えみゅでも使え


MathematicaのStudent版、アカデミック版、Highschool版だかは
バージョンが二つ前のやつは、Math IDに対するパスワードを
発行してくれないようだな。アカ版はぢかうか
以後、自分で買うのはよして、大学のをつかうことにしよう。

971 名前:132人目の素数さん [04/02/29 20:11]
>>968
Galois field(= Finite field = 有限体)
≠Galois group
なんですが・・・。代数の教科書読んでね。
で、結局、Galois群を計算するパッケージってあるの?
(標準のものでも誰かが自分で作ったんでもいいんだが)

972 名前:968 mailto:sage [04/02/29 20:29]
>>971
すまんね、勉強不足で。
library.wolfram.com/infocenter/Articles/2872/

973 名前:132人目の素数さん [04/02/29 23:18]
>>972
情報サンクス。
だけど、ざっと見たところこれは、
Mathematicaを使って特定の多項式のGalois群を頑張って計算してみました、
って感じのもの見たいね・・・
Maple (俺が持ってるのはV5R4)だと
> galois(x^5 - 5*x + 12);
 +D5, 10, {(1 2 3 4 5), (2 5)(3 4)}
こんなふうに、任意の(7次以下の)多項式のQ上のGalois群をさくっと
出してくれるんだが・・・

974 名前:132人目の素数さん mailto:sage [04/03/01 00:04]
>>973
5次なら、
library.wolfram.com/infocenter/TechNotes/158/
にあるが。
MathematicaはMapleとは方向性が違うからな。
ライブラリにある機能しかつかわない人にはMapleのほうがいいだろう。

975 名前:132人目の素数さん mailto:sage [04/03/01 00:26]
>>973
www.google.com/search?num=100&hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1&q=%22Galois+groups%22+mathematica+package&btnG=Google+検索&lr=

976 名前:132人目の素数さん [04/03/01 00:41]
>>975
googleで検索してもガイシュツのものしか見つからないんだが。

977 名前:132人目の素数さん mailto:sage [04/03/01 01:17]
5のアイコンより4.2のアイコンの方がよくない?


978 名前:132人目の素数さん [04/03/01 19:17]
どっちでもいいから
せこいコピー風呂テクと止めれ

正規ユーザがばかをみてるぞ Wolfram



979 名前:132人目の素数さん mailto:sage [04/03/01 21:16]
カオス理論の本読んでたらこのソフトの作者がでてきた。
意外なつながりだ。

980 名前:132人目の素数さん mailto:sage [04/03/03 02:38]
>>978
どういうこと?

981 名前:132人目の素数さん mailto:sage [04/03/06 09:51]
次スレですよ〜

〓 Mathematica 2 〓
science2.2ch.net/test/read.cgi/math/1078534285/

982 名前:132人目の素数さん mailto:sage [04/03/07 09:51]
982。


983 名前:132人目の素数さん mailto:sage [04/03/08 09:51]
983。


984 名前:132人目の素数さん mailto:sage [04/03/08 10:15]
984

985 名前:132人目の素数さん [04/03/08 11:32]
age

986 名前:132人目の素数さん mailto:sage [04/03/08 15:49]
Maple >>>(超えられない壁) >> Mathemetica >>> Maxima >> mupad


987 名前:132人目の素数さん mailto:sage [04/03/08 22:23]
うめー

988 名前:132人目の素数さん mailto:sage [04/03/08 22:24]
うめー



989 名前:132人目の素数さん mailto:sage [04/03/08 22:25]
うめー

990 名前:132人目の素数さん mailto:sage [04/03/08 22:26]
うめー

991 名前:132人目の素数さん mailto:sage [04/03/08 22:27]
うめー

992 名前:132人目の素数さん mailto:sage [04/03/08 22:28]
うめー

993 名前:132人目の素数さん mailto:sage [04/03/08 22:29]
うめー

994 名前:132人目の素数さん mailto:sage [04/03/08 22:30]
うめー

995 名前:132人目の素数さん mailto:sage [04/03/08 22:31]
うめー

996 名前:132人目の素数さん mailto:sage [04/03/08 22:32]
うめー

997 名前:132人目の素数さん mailto:sage [04/03/08 22:33]
うめー

998 名前:132人目の素数さん mailto:sage [04/03/08 22:34]
うめー



999 名前:132人目の素数さん mailto:sage [04/03/08 22:35]
うめー

1000 名前:132人目の素数さん mailto:sage [04/03/08 22:36]
うめー

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef