03/08/01 19:29
おい、そのAAはロリスレに貼れ
601:ぼるじょあ ◆yBEncckFOU
03/08/02 03:01
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎―――◎ 山崎渉&ぼるじょあ
602:132人目の素数さん
03/08/02 03:41
>>591
> n = 2000; a = 0; b = 1; While[n >= 1,
> ...
論外なのでコメントできん。一冊以上Mathematicaの本を読め。
末尾再帰を用いた解答
f[n_] := f[n, 0, 1];
f[0, r1_ , r2_ ] := r1;
f[n_, r1_, r2_] := f[n - 1, r2, r1 + r2];
> f[n_]:=a = 0; b = 1; While[n >= 1,
a = 0;のセミコロンで文が切れている。
f[n_] : = a
b = 1;
と入力しているのと同じだ。
603:132人目の素数さん
03/08/04 00:48
>>602
論外ですかw
そうゆう本高そうで…。今度学校の図書館で詠んでみます。
ありがとうございました。
604:132人目の素数さん
03/08/04 08:23
597に応えてあげて
605:132人目の素数さん
03/08/04 20:18
>>604=>>597
606:132人目の素数さん
03/08/04 23:22
>595
日本国内向けに日本語文書作業中。
もっとも買う人がいないから強制バンドル
価格Up 中。
日本は非英語で高度な技術内容が学べ得るけど
その分仲介業者が入る余地が多くなってしまった。。。。
607:132人目の素数さん
03/08/05 23:48
Ver.5使ってます。
起動直後にガイドが出るくらいで
見た目はそんなに変わってない。
608:132人目の素数さん
03/08/05 23:49
★おまんこナビ登場!!★日本の美しきオマンコ★
URLリンク(endou.kir.jp)
609:132人目の素数さん
03/08/05 23:50
あなたの近所のあの娘が出てるかも
いつもすまして歩いてるあの娘が
乱れまくり!!
URLリンク(www.j-girlmovie.com)
610:132人目の素数さん
03/08/06 15:32
Sin[a°]=1/2なるaを求めるにはどうすればよいでしょうか?
Solve[Sin[a°]==1/2]では求められませんでした。
611:132人目の素数さん
03/08/07 00:11
Solve[Sin[a] == 1/2, a]
612:132人目の素数さん
03/08/07 14:32
>>611
違う。
613:132人目の素数さん
03/08/07 14:59
>>612
Solve[Sin[a Degree] == 1/2, a]
で
Solve[Sin[a] == 1/2, a]
と同じ程度に、求めることができているので、
質問者が何を求めているのかよくわからない。
Solve[Sin[a Degree] == 1/2, a] // N
ってのが欲しいのか。
614:132人目の素数さん
03/08/07 15:25
>>613
スペースが必要だったのか。ありがとう。
615:132人目の素数さん
03/08/09 12:52
>>614
そういう誤解か。
a\[Degree]はそれ自体がシンボルだから、
Solve[Sin[a\[Degree]] == 1/2, a\[Degree]]
はできるが、aは求められない。
スペース(かけ算)が見た目に嫌なら、
a\[InvisibleTimes]\[Degree]とすればよし。
616:132人目の素数さん
03/08/09 15:56
>>597
だれも書かないな。
$DisplayFunction = Identity
617:132人目の素数さん
03/08/12 22:43
>616
正確にいきましょう。
p1 = ListPlot[Table[{i, i*Random[]}, {i, 1, 8}],
PlotStyle -> RGBColor[1, 0, 0], DisplayFunction -> Identity];
p2 = Plot[Exp[x], {x, -2, 2},
PlotStyle -> RGBColor[0, 0, 1], DisplayFunction -> Identity];
Show[{p1, p2}, DisplayFunction -> $DisplayFunction];
618:132人目の素数さん
03/08/13 00:54
>>617
それのどこが正確なんだ?
PlotStyleなんて何の関係もないし。
# 意味がわかってないままコピペしているようにしかみえないのだが。
で、これのどこが正確でないんだ?
$DisplayFunction = Identity;
Plot[Sin[x],{x,0,1}];
# オプションの方がいい場合「も」あるがな。
619:132人目の素数さん
03/08/13 01:56
>>617-618
要はオプションを関数の中で指定しているかグローバルに指定しているかの違いだろ。
620:132人目の素数さん
03/08/13 03:57
>>619
違う。
$DisplayFunction は DisplayFunctionというオプションのデフォルト設定
を与えるものであって、オプションそのものではない。
オプションを設定することと、
(オプションが省略された時の)デフォルトを変更することは、厳密には別のことだ。
オプションを関数の外で設定するというのは
SetOptions[Plot, DisplayFunction -> Identity]
だ。
621:山崎 渉
03/08/15 18:32
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
622:132人目の素数さん
03/08/18 18:59
おーい、Ver5持ってる奴
x^100-1==0
を解いて、根の絶対値を調べてくれ。
1にならないから。
623:tebe
03/08/18 19:06
半年間もかけてMathematicaの使い方を学ぶという
非常にエグイ授業を大学でやったよ。
Mathematicaって機能ありすぎて、僕みたいな素人
には宝の持ち腐れって感じだな
624:132人目の素数さん
03/08/18 19:11
「今私のオッパイ見てたでしょう。」ってそりゃ見ますって。
これだけの立派なオッパイが目の前にあったら。
淫乱女教師がフェラ、パイズリで同僚の先生を責めまくります。
挿入部のアップも豊富なのでオマンコもモロ見えですよ。
無料動画をどうぞ
URLリンク(www.exciteroom.com)
625:132人目の素数さん
03/08/18 19:19
Mathematicaの有名なバグ
Integrate[1/x^2, {x, -1, 1}]
古いバージョンだと2と評価してくれるんですが
新しいバージョンだと∞になってしまいます。
Ver5だとどうなんでしょうか?
626:132人目の素数さん
03/08/18 21:50
>>625
はぁ?
バグってるのはあなたの頭では?
627:132人目の素数さん
03/08/20 01:54
1 1
∫(1/x^2)dx=-1/x|=-1/1-(-1/(-1))=-2
-1 -1
じゃないの?
628:132人目の素数さん
03/08/20 01:56
>>627
ずれた
1 1
∫(1/x^2)dx=-1/x|=-1/1-(-1/(-1))=-2
-1 -1
じゃないの?
629:132人目の素数さん
03/08/20 01:59
>>628
1/x^2>0だから積分値は正だろ?
630:_
03/08/20 02:03
URLリンク(homepage.mac.com)
631:132人目の素数さん
03/08/20 02:06
>>625-629
x=0で発散しているから∞だろ
632:132人目の素数さん
03/08/20 08:37
625がまぬけだったということでよろしいでつか
633:132人目の素数さん
03/08/20 10:12
>>632
否、これは確かに古いバージョンでは2ではないが-2と評価しているぞ。
いまのバージョンだと∞に修正されてはいるが。
634:supermathmania ◆ViEu89Okng
03/08/20 10:50
発散積分の有限部分は確かに-2になる。
Integrate関数は超関数積分なども一部サポートしている。
これとは関係ないが、主値積分もオプション指定でできる。
ついでに、Integrate[Exp[1/(1-x^2)],{x,-1,1}]と
NIntegrate[Exp[1/(1-x^2)],{x,-1,1}]の結果を報告していただきたい。
期待しないで待っているぞ。
635:132人目の素数さん
03/08/20 18:05
>>625は古いバージョンと新しいバージョンの挙動の違いを言ってるだけだろ
積分値が正しい間違ってるの話をしているわけではないと思われ
636:132人目の素数さん
03/08/20 19:54
>>634
NIntegrate[Exp[1/(1-x^2)],{x,-0.998,0.998}]=3.88057*10^103でつた。
Integrate[Exp[1/(1-x^2)],{x,-1,1}]は、答えが帰ってきません(;_;)
mathematica 4.2 for Linux-PPC
637:132人目の素数さん
03/08/20 20:50
ちなみにMapleの結果
int(exp(1/(1-x^2)),x);
/infinity \
| ----- 2 |
| \ hypergeom([1/2, _k1], [3/2], x )|
x | ) --------------------------------|
| / GAMMA(1 + _k1) |
| ----- |
\_k1 = 0 /
638:132人目の素数さん
03/08/21 01:41
オクで割れマセマティカを5000円で売ってるやつがいる。
タイーホされてほしい。
639:132人目の素数さん
03/08/21 01:55
>>638
通報すれ
640:132人目の素数さん
03/08/21 02:06
>>637
そんなの超幾何関数使って元の積分を表現しただけじゃん。
641:132人目の素数さん
03/08/21 03:33
0.11111111111111111111111111
って入力して実行すると
0.11111111111111111111111111
って出て、それをクリックしてエンター押すと
0.1111111111111111111111111099999999999964597
って出るんですがどうゆう意味があるのでしょうか?かなり気になるんですが。
642:132人目の素数さん
03/08/21 03:40
意味はない。Mathematicaが糞なだけ。(w
643:132人目の素数さん
03/08/21 05:45
>>641
ネタで言ってるのかどうか知らんが・・・
機械精度の演算がどういう仕組みで行われているかを一度考えて見れ。
644:132人目の素数さん
03/08/21 07:45
それにしてもクソですな。そのくらい改善できそうなものだが。
645:supermathmania ◆ViEu89Okng
03/08/21 15:58
Integrate[Exp[1/(x^2-1),{x,-1,1}]
NIntegrate[Exp[1/(x^2-1),{x,-1,1}]
と云おうとしたら、間違えてしまった。
これなら計算できるのかな?
646:132人目の素数さん
03/08/21 19:01
>>644
あのさ、Mathematica では小数点を付けた数値は機械精度
で計算されるとマニュアルに書いてあるから、
0.11111111111111111111111111
と書いた時点でこれは
11111111111111111111111111/100000000000000000000000000
とは全然違う値になるわけだ。だから、もし
0.11111111111111111111111110000000000000000000
とかになったら、Mathematicaは機械精度の計算を唄っておきながら
実際にはサポートされていないことになる。
この前も同じような質問があったけど、今の大学って数値計算の理論
とか教えないんだろうか。もし習ったことが無いなら、そういう技術者や
科学者にとって必要最小限のことも教えない大学なんて行く意味がないよ。
>>641や>>642、>>644が通っている大学の学長は、こういう不祥事(と
言っても良いよね)に対する記者会見を開いても良いぐらいだと思う。鶴を
燃やした事件みたいにさ。高校生だったら、まあ仕方ないけど。
いや、今日は社会人になっても、2次方程式の解を計算するルーチンで
解の公式をそのまま使うような馬鹿に遭遇したんで、イライラしてるのかも
しれん。桁落ちが起きるだろ、アホが!お前の先輩の文型出身の奴でも
ちゃんと場合わけして回避してたぞ。
647:132人目の素数さん
03/08/21 20:13
NIntegrate[Exp[1/(x^2-1)],{x,-1,1}]
=0.443994
ですな。
648:132人目の素数さん
03/08/21 20:14
数値解析の講義なんか、あったって選択だろ。
そんなもんやってる時間があったら、
純粋数学やるわいな
数学専攻ならな
649:132人目の素数さん
03/08/21 20:35
>>646
俺は高校生です。仕方ないです。
650:132人目の素数さん
03/08/21 22:29
>>646
> あのさ、Mathematica では小数点を付けた数値は機械精度
> で計算されるとマニュアルに書いてあるから、
こんなことは書いてない。
おまえの書いた
0.11111111111111111111111111
はArbitrary-Precision Numberだ。
つまり、多倍長数の内部表現が二進であるか十進であるかという実装の問題だ。
偉そうなこと書くんだったらもっと勉強しろ。
一目見たらdoubleで書けないことぐらいわかれよ。
64bit以上のCPUつかってんだったら機械精度かも知れんがどっちにしろ
嘘だしな。
651:650
03/08/21 22:34
一応書いとくが、二進で結構だと考えてるよ。
# 上の馬鹿といっしょにされてはかなわん
652:132人目の素数さん
03/08/22 05:18
このスレ、人を罵倒するやつが多いな。
653:644
03/08/22 06:20
>>646
おいおいパターソン&ヘネシーくらい読んだことあるぜ。
0.1111111111111111111111111 != 111111111111111111111/1000000000000000000
(桁は適当ね)になっている実装がクソだと言ってるの。
機械精度なんて本来は一切要らないんだから。
そんなものこの時代のマシン特有の都合だろ?
もちろんMathematicaブックを読めば$MachinePrecisionや
N[]や12.3`なんかについてあれこれ載っている(はず)。
しかし、精度という基本的なことがらに付いてあれこれ頭を悩ませる実装および
言語体系が「クソですな。改善できそうなもんだが」というわけ。
掲示板の書き込みで憂さ晴らすのは不健康だね。
654:132人目の素数さん
03/08/22 06:49
よくわからんがマスマティカはくそってことでつか?
655:132人目の素数さん
03/08/22 06:50
>>653
646は書きすぎだと思うが、
> 機械精度なんて本来は一切要らないんだから。
> そんなものこの時代のマシン特有の都合だろ?
それは無いだろー
656:132人目の素数さん
03/08/22 11:57
>>646
知りもしないものを「クソ」あつかいか…
それに少し上のレスぐらい読め。
機械精度なんて関係ないんだよ。
計算機の上では有限の精度しか実現できないことをしっているよな?
0.1111111111111111111111111 == 111111111111111111111/1000000000000000000
にしたところで何か計算したとたんにほぼ確実に10進数表示での
数学的な等号は成立しなくなるんだぞ。
何か意味があるか?
精度の保証だけしとけば十分だろ。
Precision, Accuracyについてマニュアルを読め。
657:132人目の素数さん
03/08/22 12:09
>>646
この時代のマシンのことを無視してプログラム書いてどうすんだよ。
おまえが書くプログラムってどれも実用には耐えないんだろうな。
658:132人目の素数さん
03/08/22 20:32
私は高校生なので優しくしてください。
0.1111111111111111111111111を任意精度として扱ってもらう簡単な方法はないですか?
いちいち111111111111111111111/1000000000000000000のように入力しなおさいと正しい結果が得られないのは不便なんですけど。
659:644
03/08/22 21:53
さあ香ばしくなってまいりました。これも5発売フィーバーか?
>>658 に優しいアシストをすると、そういう小数でどんな計算したいのかを言えば、
より有益なレスがつくのではないかな?ていうか小数なの?有理数なの?
ちなみに手もとのMathematicaブックには「0.142が近似値でなく
厳密な値であるならば、142/1000と有理数として入力しなければならない」
という記述をハケーン。
あと0.11111111111111111111`200 で200桁の有効数字が、
0.1111111111111111111111''200で小数点以下200桁までの正確さが保証されるんだと。
それで十分かな?どうよ?
>>656
> にしたところで何か計算したとたんにほぼ確実に10進数表示での
> 数学的な等号は成立しなくなるんだぞ。
おいおいそれこそ「計算」次第だろ。アタマ疲れてない?
>>657
> おまえが書くプログラムってどれも実用には耐えないんだろうな。
CやF90で書くのとMmaで書くのとには違いが出て当然だろ。言語3~4種しか知らん人?
660:132人目の素数さん
03/08/22 22:35
>>659
ありがとう。
661:132人目の素数さん
03/08/22 23:36
こんなところでしかストレス発散できないやつ。
662:132人目の素数さん
03/08/22 23:55
>>659
つっこみどころ満載だけどおまえにはどんな反論しても
無駄みたいだからやめとく
663:132人目の素数さん
03/08/23 00:51
> つっこみどころ満載だけどおまえにはどんな反論しても
というと
> さあ香ばしくなってまいりました。これも5発売フィーバーか?
の辺りか?(w >659のカキコそのものはべつに間違った内容はないんじゃないの?
ていうか5出るのか。洩れのマスマティカブック4.2版どうなるんだろう。
5対応版買った人に~とか+'の項目だけ写させてもらおうかな。
みなさんどうしますか?ちなみに洩れはサイトライセンスで使ってる人ね。
664:132人目の素数さん
03/08/23 00:53
なんでこんなにイタイんだろう・・・
自覚ないのか?
665:132人目の素数さん
03/08/23 01:17
>>663
大分前に出たかと
666:132人目の素数さん
03/08/23 02:48
Mathematicaを持ってない貧乏人がひがんでるスレってここでつか?(w
667:132人目の素数さん
03/08/23 14:08
>>659
>> にしたところで何か計算したとたんにほぼ確実に10進数表示での
>> 数学的な等号は成立しなくなるんだぞ。
> おいおいそれこそ「計算」次第だろ。アタマ疲れてない?
だからほぼ確実に、ってかいてんだよ。日本語ぐらい読めるようになろうね。
割算もできないしSinやCosも計算できないし、かけ算したらどんどん
桁が増えてくし、どうすんの?
> CやF90で書くのとMmaで書くのとには違いが出て当然だろ。言語3~4種しか知らん人?
Mathematicaの設計の話をしてんだよ。
>>660
0.1111111111111111111111111は>>656で書いてあるように自動的に任意精度と
してあつかわれている。
例えば、
x = 0.1111111111111111111111111
y = 1000 x - 111
Precision[x]
Precision[Sin[x]]
Precision[y]
とか入力すると、Mathematicaが精度保証して計算してるのがわかるよ。
高校生だからわからないのだろうが、>>644はアホだぞ。
668:132人目の素数さん
03/08/23 15:31
なんかこのへんのフレームは、任意精度と厳密数値(Schemeでいうexactnum)との
混同に基づいているような気がする。
ということで、高校生君に
> 0.11111111111111111111111111
> って出て、それをクリックしてエンター押すと
> 0.1111111111111111111111111099999999999964597
> って出るんですがどうゆう意味があるのでしょうか?かなり気になるんですが。
の理由を分かりやすく教えてあげれ > 誰か
多倍長整数や高精度近似数は2^16または2^32進数(整数要素の配列)らしい。
あとMathematicaBookの「3.1数」には
123.4 機械精度
123.4567890123456789 システムによっては任意精度 <- なんじゃそりゃ
123.4567890123456789` 機械精度
123.456`200 200桁の任意精度 <- precision
123.456``200 200桁の任意確度 <- accuracy
1.234*^6 機械精度
1.234`200*^6 200桁の精度 <- 任意精度ととっていいのか?
とあるね。しかしこの例が微妙に分かり辛い...
リファレンス「入力の文法」にはdigits.digitsは「近似数」としか書かれてない。
これは任意精度なの?機械精度?だれか教えてくれますか?
わたしは普段整数しか扱わないので知らないままだった。
669:132人目の素数さん
03/08/23 16:23
0.111... を 1/2^n の和で作ってみると一番近い数が
そのゴミがついた数字になる、というのが一番簡単な
説明だよね。
まあいくつ項を取るかというのは気になる点だろうけどね。
670:132人目の素数さん
03/08/23 16:54
どうも高校生です。
1-0.999999999999=9.99978*10^-13
ってなるのが嫌なんです。これは分数で書くしかないですよね。
999999999999/1000000000000って書いたりするには桁数数えなければなりません。
かなり苦痛なので分数に書き換えるプログラムを書いてみました。
For[i = 0, x ≠ IntegerPart[x], x *= 10; i++]; Rationalize[x]/10^i
xに厳密な数値に直したい小数を入れて、実行すればOKです。
671:
03/08/23 19:37
ある演算をさせて結果がたとえば
If[x>0,・・・,~~~]
のようになったとき、・・・の部分だけをある変数に代入するにはどうすればいいのでしょうか?
672:132人目の素数さん
03/08/23 20:33
>>668
> 123.4567890123456789 システムによっては任意精度 <- なんじゃそりゃ
わかってて書いてるのかも知れないが、システムによって機械精度の桁が違うから。
計算速度のために機械精度で扱える時はあつかおうとするという
Mathematicaの設計の結果。
> リファレンス「入力の文法」にはdigits.digitsは「近似数」としか書かれてない。
digits.digitsって?
>>670
そのプログラムバグってるぞ。
x = 0.9999999999999999999999999
で試してみ。
# というかRationalize[x,0]の不完全版を回りくどくやっているだけ。
欲しいのは
FromDigits[RealDigits[x], 10]
あたりか?
>>671
状況が良くわからないが、
If[x > 0, ..., ...][[2]]
とか、もしかしたら
Simplify[If[x > 0, ..., ...], x > 0]
とか。
673:132人目の素数さん
03/08/23 20:36
>>668
わかった > digits.digits
機械精度にしろ任意精度にしろ近似数、ということ。
# 内部表現が2進なら必然的にそうなるな。
674:671
03/08/23 21:46
>>672
Simplify[If[x > 0, ..., ...], x > 0]
でできました!
ありがとうございました
675:132人目の素数さん
03/08/23 22:40
>>672
あれー、なんぜバグっちゃうんだろー。
Rationalize[0.42857142857142857142857142857]とかの場合3/7になっちゃうから
そうならない版を作ったつもりだったんだけど…。
FromDigits[RealDigits[x], 10]かあ。すごいです。つーか、こんな関数しらなかった…。
676:132人目の素数さん
03/08/24 16:33
Mathematicaで平方完成する方法を教えてください
677:132人目の素数さん
03/08/24 17:41
降ベキの順に表示させる方法ってないの?
678:132人目の素数さん
03/08/24 20:18
>>676
H[f_, x_] /; PolynomialQ[f, x] :=
Module[{r, b, c},
r = (x - b)^2 + c; r /. Flatten[SolveAlways[f == r, x]]]
Example: H[x^2 + 3 x + 2, x]
>>677
TraditionalFormか、別の方法としては、
HoldFormをもちいた並び替え関数を書く。
679:132人目の素数さん
03/08/24 20:56
二次の係数は?
680:132人目の素数さん
03/08/24 21:09
>>679
それぐらいは自分で直せよ…。
681:132人目の素数さん
03/08/24 21:11
日本語ヘルプ欲しーーーーーーーーーーー!。
いちいちmathematicaの公式サイトみるの大変…。
つーか、日本語版欲しい。
682:132人目の素数さん
03/08/24 22:12
>681
日本語キット(Help 日本語) が \50k ぐらいで売ってるよ。
というか、もう日本語ヘルプ強制バンドル品しか買えない。
Mathematica のヘルプの英語ぐらいは読めるように
しておいた方が何かと便利だと思うんですけど。。。
やっぱり日本語ヘルプのニーズは多いのかなぁ。
683:132人目の素数さん
03/08/25 00:02
>>682
高すぎ…。
684:132人目の素数さん
03/08/25 00:36
>>678
Mathematicaの関数としては、ないわけですね。自分で作るしかないってことか。
ありがとうございました。
685:132人目の素数さん
03/08/25 01:37
このソフトの中の人って頭良いけどちょっと融通が利かないというか…。
686:132人目の素数さん
03/08/25 02:29
>>685
人が入ってたのかよw
687:中の人
03/08/25 12:20
ユーザにもっと勉強してもらいたいものだ
688:132人目の素数さん
03/08/25 16:52
>>687
sin[x]とかやった時に
「Sin[x]じゃないですか?」
とか言ってる暇があったらそれで計算しろカス
689:132人目の素数さん
03/08/25 17:29
>>688みたいなカス(例えば>>644)が多いなこのスレ。
実際はMathematicaの中の人は他の同系統のソフトの人と比べると、
「頭(知識)は普通(以下?)だが凄く融通が効く」
人だよ。
690:132人目の素数さん
03/08/25 18:22
>>689
人の平均から比べたら融通が利かない方だと思われ
691:132人目の素数さん
03/08/25 18:46
>>689は日本語を覚えたウルフラム
692:132人目の素数さん
03/08/25 22:32
まあ日本国内在住人にとっては腹の立つほど値段が高いこと、
それ以外は悪くないと思いますけどね。
もっともあの英語マニュアルを通して読めたのは
暇だった学生だったからなので、普通の生活では
ちと厳しいかな。
国産の RISA/ASIR も10万くらい払っていいから
他の商用並の使い勝手にならんかな。
693:132人目の素数さん
03/08/25 22:36
>>690
それはそうだな。でもプログラミング言語ってのは厳密さがいいんだよ。
「sin?どうせSinと同じだろ」とか「+? ここは普通-だろ」とかやられたら
実際困る。
694:132人目の素数さん
03/08/25 22:48
>>692
要はMathematicaの買えない貧乏人のひがみだろw
695:132人目の素数さん
03/08/25 23:23
>>693
もちろんそんなのは分かってる。所謂ジョークだよ。
696:132人目の素数さん
03/08/26 14:19
list={{Aaa[a],Aaa[b],Aaa[c]},{Aaa[d],Aaa[e],Aaa[f]},{Aaa[g],Aaa[h],Aaa[i]}}
というリストがあって(ホントはもっと長い)、こいつを
{{a,b,c},{d,e,f},{g,h,i}}
にしたいのですが、エレガントな方法を教えてつかあさい。
Tableは使わないでね。
697:132人目の素数さん
03/08/26 15:32
>>696
(#[[1]] & /@ # &) /@ list
698:697
03/08/26 15:35
>>696
Map[First, list, {2}]
のほうがいいな。
699:132人目の素数さん
03/08/26 20:09
>697
>698
できました。Thanks
さすがですねぇ
700:132人目の素数さん
03/08/26 20:23
教えてつかあさい。
701:132人目の素数さん
03/08/27 01:40
mathematicaの初心者講座やって下さい。
702:132人目の素数さん
03/08/27 02:54
yada
703:132人目の素数さん
03/08/27 07:25
>>701
Shift+Enter
704:132人目の素数さん
03/08/27 10:06
MacではEnterだけで実行!
705:supermathmania ◆ViEu89Okng
03/08/27 11:35
Re:>701 MathematicaにはHelpが付いているはずだ。それを読むといいだろう。
まずは、Shift+EnterとExit[]と、+-*/^という演算子と、関数の引数は四角括弧で採ることを覚えよう。
706:132人目の素数さん
03/08/27 19:21
>>705
Exit[]知らなかった!!
707:706
03/08/27 19:22
つーか、何の意味があるの?DOSみたいに終了するのかと思いきやしないし。
708:132人目の素数さん
03/08/27 20:22
Quit[]
とすると、カーネルが終了するのだ
わかったかね
709:132人目の素数さん
03/08/27 20:41
>>708
カーネルってなんですか?あとそれ以前にExitはどんなときに役に立つのですか?
710:abc
03/08/27 21:37
おかねもうけ情報見つけました
URLリンク(pocket.muvc.net)
711:132人目の素数さん
03/08/28 02:03
Windowsです
[スタート]の[プログラム]メニューにあるMathematicaでカーネルを2まで同時に立ち上げることができる。
(プロフェッショナル版)
712:132人目の素数さん
03/08/28 07:48
xyではなくてx*yを使うの?
713:132人目の素数さん
03/08/28 09:37
カーネルってのは、
フライドチキンのおじさんのことだ
覚えておけよ
714:132人目の素数さん
03/08/28 22:04
普通乗算はスペースだよな。
715:132人目の素数さん
03/08/31 21:04
Random[]で出る結果は何通りくらいある?
716:132人目の素数さん
03/09/01 06:52
>>715
意味わかんね
717:132人目の素数さん
03/09/01 18:06
>>716
Random[]で出る数は何種類から選ばれるかということです。
多ければ多いほど優秀、と。
718:132人目の素数さん
03/09/01 23:07
>715
Help に書いてないか?
まあ書いてないとして高々二桁 bit なんで十進数で
33 桁程度ではないか?基本的には剰余だろうから。。。
719:132人目の素数さん
03/09/03 03:14
>>718
ありがとう。
ピッタリ1とかピッタリ0ってありますか?
720:132人目の素数さん
03/09/03 17:31
SeedRandom[Random[]]ってやるとかなり増える?
721:132人目の素数さん
03/09/03 22:21
>719
ぴったりですか。。。原理的にはあるんだけど
実数乱数なら無いとしたほうがよく
整数乱数なら有りそうね。でもこれも Help に書いて無いか?
>720
基本的には Random[] は余りを周期的に利用していると考えて
そう外れがない。
SeedRandom は、この周期のどこから始めるかを指定する
だけなので、増えんよ。
722:132人目の素数さん
03/09/05 15:45
Mathematica Ver.5日本語版リリース! あげ
URLリンク(www.wolfram.com)
でも代理店はどこもVer.4のままれす
723:132人目の素数さん
03/09/11 18:05
Ver.5
クラスルームってのは特別定価4万6千円だとよ
724:132人目の素数さん
03/09/17 09:30
mathematicaで計算実行したら、
”Internal counter overflow.
Some expression evaluations may not run to their
final fixed points. Try redoing your computation
on a 64-bit enhanced version of Mathematica.”
こんなエラー出てしまって計算やってくれないのですが、これってどういうことですか?
ちなみにVer.4です
725:EXCITE 翻訳
03/09/18 03:00
内部カウンタのオーバーフロー。いくつかの表現評価はそれらの最終固定
小数点で実行不可能かもしれません。Mathematicaの64ビット増強された
バージョン中のあなたの計算をやり直してみてください。
726:132人目の素数さん
03/09/18 14:35
k1=1/12; k2=1/6;
g[t_] = 2.30743*Exp[t^3.30352]*t^2.30352
h[t_] = (t*(k2+Sqrt[k2^2-t*k1^3]))^(1/3)
k[t_] = h[g[t]] + k1*g[t]/h[g[t]]
のとき、
NSolve[Integrate[h[t], {t, 0, tk}] == 1, {tk}]
を解きたいのですが、式が複雑すぎてエラーの嵐でした。
FindRootでもできませんでした。
先生によれば工夫すればできるらしいのですが、さっぱりわかりません・・・
どなたか教えていただけないでしょうか?
あと、g[t]の値はある計算結果なのですがそのままだと
2.30743*Exp[0.t^3.30352]*t^2.30352
となっているんですが、
0.t^3.30352 = t^3.30352
でいいんですよね?見たことない表現なので戸惑ったのですが・・・
なんでこんな表現になるんでしょうか?
727:132人目の素数さん
03/09/18 22:18
>>726
g も k も関係ない。
解けないのは式が複雑だからじゃなくて、使いかたが間違っているから。
NSolveはpolynomialを解くものであって、一般の式は解けない。
数値解は
FindRoot[NIntegrate[h[t], {t, 0, tk}] == 1, {tk, {1, 2}}]
等。(ただし、Sqrtの中身が負にならないtの範囲で)
0.t に見えたのは0. tで、0. * tだろう。その解釈は間違い。
728:726
03/09/18 23:20
>>727
レスどうもです。
726にも書きましたがFindRootでもできませんでした・・・
また、0. * tって0*tとは違うんですよね・・・?
0. =桁数の小さい小数ってことですか?
729:726
03/09/18 23:31
>>727
書き込んでくださった
FindRoot[NIntegrate[h[t], {t, 0, tk}] == 1, {tk, {1, 2}}]
でやってみたところできました。
FindRoot[Integrate[h[t], {t, 0, tk}] == 1, {tk, 1}]
でやったらできなかったのですが、なぜこれだとできなかったのでしょうか・・・?
730:132人目の素数さん
03/09/18 23:36
>>729
0.が常に0と区別できないRealsを表すのかどうかは知らない。
FullFormすればその0.の値はわかるけれど。
HelpのFindRootの項を読みなさい。
731:726
03/09/20 02:02
>>730
FindRootについて勉強してみます
ありがとうございました
732:132人目の素数さん
03/09/20 12:51
>>731
ヘルプ読むのに10分もかからんだろ。そして読んだら、
> FindRoot[Integrate[h[t], {t, 0, tk}] == 1, {tk, 1}]
でもできないとおかしいと気づくはず。
答えが大体わかってたから、数値計算だけでもとめられる{tk,{1,2}}の
指定をしただけだ。
{tk,1}と指定すると、ニュートン法を行おうとする。
Integrate[h[t], {t,0,tk}]の微分は計算できる(h[t])から、
ニュートン法が適用できるはずだ。
実際遅いだけで、(Ver. 4.2では)解ける。
733:132人目の素数さん
03/09/22 17:36
どなたか教えて頂けないでしょうか。ほとほと困り果てております。
「1カラム→実数、 2カラム→複素数」
のテキストファイルをリストとして読み込ませるためには、どのよう
にしたらよいのでしょうか?
734:supermathmania ◆ViEu89Okng
03/09/22 17:44
Re:>733 C言語なら楽勝だよ。
735:132人目の素数さん
03/09/22 17:59
>733
何のリストに読み込ませたいんだい?
736:132人目の素数さん
03/09/22 18:03
>733
Excelに貼り付けて文字列関数でCONCATENATEを使って結合すれば?
括弧の部分とかは、固定の文字列として入れればいい。
737:132人目の素数さん
03/09/22 18:43
>>735
Mathematicaで読み込ませたいです。
738:132人目の素数さん
03/09/22 18:45
リストはこんな感じです。
↓
実数 複素数
1 3+I2
2 4+I5
3 8+I9
739:132人目の素数さん
03/09/22 19:26
>>739
data.datの中身が、
1 3+2I
2 4+5I
3 8+9I
なら、
ReadList["data.dat", {Number, Expression}]
I2, I5, I9などとなっていたら、Symbolと理解されてしまうので、
あらかじめ加工しておくか、Stringで読み込んでMathematica内でパースする。
740:132人目の素数さん
03/09/23 10:48
>>739
本当にありがとうございます。これから試してみます!
741:132人目の素数さん
03/09/23 17:38
Readlist[#,Record]& で読み込み
Characters でばらす。
742:132人目の素数さん
03/09/25 00:45
灯台に再びサイトライセンスで導入されるようだな。
1年の解析Bを取る連中は、課題を解く手間がずいぶん少なくなるだろう。
743:132人目の素数さん
03/09/27 13:12
今入ってないのか
教官が授業で使っててずっけーって思ってた
744:132人目の素数さん
03/10/05 21:23
f[x_] :=
Print[b];
Return[x]
という関数を定義したとき
f[6]と入れても
bとプリントされるだけで、6が返ってきません。
どこが問題なのか分かる方教えてください。
745:744
03/10/05 21:37
f[x_] :=
Module[{},
Print[b];
Return[x]
]
こう定義し直したら
f[6]を実行した時
bがプリントされて、6が返ってくるようになりました。
どうしてよくなったかは分からないですが…
746:132人目の素数さん
03/10/05 22:00
>>745
>>602を見ろ。
747:744
03/10/05 23:02
>>746
ありがとうございます。
こう定義し直して、うまく行くことが分かりました。
f[x_] :=
(
Print[b];
Return[x]
)
748:132人目の素数さん
03/10/07 23:53
y^2=x^3-2 (-2<=x<=2)このグラフが書きたいのですが・・・
Plot[Sqrt[x^3 - 2], {x, -2, 2}]こう書くと上手くいきません。
どなたか教えてくださいませm(__)m
749:132人目の素数さん
03/10/08 02:02
>>748
そりゃあ、x^3-2<0の部分は書けないに決まってる。
750:132人目の素数さん
03/10/08 15:25
>>748
<<Graphics`ImplicitPlot`
ImplicitPlot[y^2 == x^3 - 2, {x, -2, 2}, AspectRatio -> 1]
751:748
03/10/08 21:53
>>749さん
>>750さん
(゚´Д`゚)どうもありがとうございます。助かりました。
752:132人目の素数さん
03/10/12 18:49
だれかWebMathematicaを使ってWeb上で数式処理が無料でできるサイトを構築してください!
俺にはMathematicaを個人的に買える予算などないんです!学生じゃないし!
753:132人目の素数さん
03/10/13 02:23
おとなしくみゅーぱっどでも使っとれ
754:132人目の素数さん
03/10/15 23:37
>>753
プロ版じゃないと見栄えが悪いと言ってみる。
755:132人目の素数さん
03/10/16 09:39
じゃ、MAXIMA使えばぁ
756:132人目の素数さん
03/10/16 12:08
フリーウェアでほとんどの数式をグラフにしてくれるソフトあるよね。
どんな極方程式もグラフにしてくれるやつ。すげー楽しい
757:132人目の素数さん
03/10/19 14:52
Functionのコマンドについて質問です
x^2+y^2が0になるときのxを求めるもので
条件としてyはすでにリストになっています(例えば、y[[1]]=1,y[[2]]=2)
そこで、functionを使ってxについての方程式をつくり求めようとしました
が、
A=Table[0,2];
Do[
A[[i]]=Function[{x,y},x^2+y^2][x,y];,{i,1,2}
];
として、A[[1]][1]と出力した場合にx^2+1[1]となってしまい、xに1を代入してくれません
理想としては1+1(=2)となってほしいのです
どのようにすれば、求めることが出来るのでしょうか?
よろしくおねがいします
758:132人目の素数さん
03/10/19 16:28
>>757
貼っても動かない上に全く意味不明だ。
Table[0,2]とはなんだ。
(x^2 + y^2)[1]でなにがやりたいのだろうか。
759:132人目の素数さん
03/10/19 16:38
x^2 + y^2 が0になるような整数は(0,0)しかない。
760:757
03/10/19 18:15
すいませんでした。実際xはもっと複雑な関数でして、わかりやすくするために
xにしてしまいました。
つまりやりたいことは、ある2つの変数(x、y)をもった式があります
条件としてyはすでに決まっていてリスト化されています(例:yの1番目=1、2番目=2、n番目・・・)
そこで、yがn番目の時に式=0となるときのxを求めたいのです
761:132人目の素数さん
03/10/19 20:33
y = Range[10];
A := Table[Function[x, x^2 + y[[i]]^2 // Evaluate], {i, 1, 10}];
A[[1]][1]
なんども書き込んでるんだけど反映されない…
762:132人目の素数さん
03/10/19 21:17
Plotを使ってグラフを描いたときに目盛りに書かれる数字を大きくする方法ってあるんでしょうか。
グラフを大きくしたいときに表示されている部分の角をマウスでドラッグして大きさを変えているんですが、
目盛りの数字が大きくならないんです。
最初に描かれるグラフの大きさも変えたいんですがこちらも分かりません。
全然数学な内容でなくて申し訳ありませんが教えてもらえないでしょうか。
763:757
03/10/19 22:29
ありがとうございます。そのやり方でできました。
あの、そこで例えばx^2+y^2=100と置いた時に
x^2+1=100, x^2+4=100 ・・・ x^2+100=100と10個のリスト化された式がでます
そこで、xを求めるためにFindRootを使ったのですがリスト化されたものに対して
答えを出そうとするとうまく行きません
答えをリストとして出すためにはどのようにすればいいのでしょうか
よろしくおねがいします
764:132人目の素数さん
03/10/19 23:09
少しは自分で考えろ。
765:132人目の素数さん
03/10/19 23:25
>>762
DefaultFont -> {"Bold", 10}
766:132人目の素数さん
03/10/19 23:50
>>765
ありがとうございます。明日早速試してみます。
>>764
すみません、Plot周りのオプションで探してはみていたのですが
「それじゃ見つかるわけがない」と猛反省しています。
767:772
03/10/20 14:05
自己解決いたしました。ありがとうございました
768:132人目の素数さん
03/10/22 20:19
mathematica5のStudent版買った人いる?
769:132人目の素数さん
03/10/26 20:25
買ったよ。パスワード申請が相変わらず(`×´)丿ウザイ!!
770:132人目の素数さん
03/10/26 23:26
最近のMathematicaも
Windows版、Mac版、Linux版とかは一枚のCDで提供されているんですか?
少なくとも3.0の頃はNeXTとかも一緒に入っていて
プラットフォームの乗り換えの時、便利でしたが。
771:132人目の素数さん
03/10/27 00:45
Winnyで落としたんだけど、なんかパスワードだか必要で使えん
意味ねー
772:132人目の素数さん
03/10/27 01:08
>>771
keyGeneratorがついてるだろ
773:132人目の素数さん
03/10/27 01:23
>>772
そんなアドバイスしてどうする…
774:132人目の素数さん
03/10/27 02:52
>>769
ネットでできるようになったんじゃなかったけ?
775:132人目の素数さん
03/10/27 03:04
ImportやExportのデフォルトのフォルダを指定する方法ありませんか?
初期設定は、Mathematica.exeと同じフォルダになってるけど
そこだと毎回面倒なので、デスクトップとかマイドキュメントに変えたいです。
今はImport["C:\Documents and Settings\galois\My Documents\sound.wav"]
とか書いてます。
776:132人目の素数さん
03/10/27 08:51
今日アクティベーションが切れた。
来年から社会人だから糞高い値段かわんといけんのかと思うと鬱
777:132人目の素数さん
03/10/28 17:17
会社で買ってもらえ(w
778:132人目の素数さん
03/10/28 20:59
Yahooオークションで安いの出てるよ
でもたぶん違法だと思うが
779:132人目の素数さん
03/10/30 00:57
高いねぇ、教員やっていても無茶苦茶高い。しかもバージョンアップが
毎年あって、その価格もとても高い。こんなのを学校で教育に使うという
ことは、MATHEMATICAの会社に貢物をしているようなもので
正気じゃない。卒業生が馬鹿高いソフトを買うように仕込んで協力している
ようなものだよ。そんな金があるのなら、優等な学生に奨学金を出すべきだ。
780:眠い
03/10/30 01:29
残念なことに、知ってる範囲のMathematicaユーザは優等生を兼ねてるね
優等生は金持の息子が多い、生活に余裕がないと自由に勉強する余裕がないからそうなる
781:132人目の素数さん
03/10/30 20:19
貧乏人はフリーのMuPad,maximaを使えってことでつか
Mathematicaを持っているおいらはバージョンアップしないで
古いやつを大事にしまつ
782:132人目の素数さん
03/10/30 22:06
忘れるな、MuPadは無料だが中身はブラックボックスだ。その点Mathematicaと一緒。
それと古いMathematicaのバグや劣ったアルゴリズムは懐で温めても直らんよ。
783:132人目の素数さん
03/10/30 23:08
激しく既出だが、mupadはmathematicaよりmapleの方に近い。
ところで、mathematica4.0を持っているのだが、バージョンアップできるのは
5.0までか?それとも、5.1、5.2まで待てるか?
784:132人目の素数さん
03/10/30 23:33
4.0のupは5.0までだとDMにあったような
785:132人目の素数さん
03/10/31 23:29
オープンソースの数式処理ソフトって何?
786:132人目の素数さん
03/11/05 20:16
東西南北に行けるという2次元ランダムウォークをなんとか自力で組み立てた
んですが、格子のない(今いるところから半径1の円周上に動く)ランダムウォークが
どうしてもつくれないんですけど、どうしたら作れますか?アドバイス下さい。
当方まだmathematicaさわってまだ1ヶ月なもんでさっぱり知識ありません(^^;
自分で調べようにもいきなり学校でやれっていわれたもんなんで参考書すらないのです・・・
参考(?)までに格子のあるランダムウォークの肝心な所を載せます↓
Walk2D[n_] :=
FoldList[Plus, {0, 0}, {{1, 0}, {0, 1}, {0, -1}, {-1, 0}}
[[Table[Random[Integer, {1, 4}], {n}]]]]
いきなり長文&質問すいませんです
787:132人目の素数さん
03/11/05 21:33
>>768
Walk2D[n_Integer] :=
FoldList[Plus, {0,0},
{Cos[#], Sin[#]}& /@ Table[Random[Real,{0,2 Pi}], {n}]]
ListPlot[Walk2D[60], PlotJoined->True]
788:786
03/11/07 01:22
>>787
おぉ、すごい!!本当にランダムな角度で動いてますね!!!!
皆さんこんなの朝飯前ぐらいな問題ですか?
どーもありがとうございましたm(_ _)mペコ
789:132人目の素数さん
03/11/07 21:57
教えてつかあさい。
URLリンク(phong.informatik.uni-leipzig.de)
ここにあるMathGL3d for MacOS X
というのを使いたいのですが、
インストールできません
MacOS XのMathematicaはパッケージなんで
サブフォルダに必要なファイルを入れることができないんです
??
790:132人目の素数さん
03/11/08 00:04
>789
拡張子
.app
を取ると、フォルダになります。
それでいいのかわかりませんが
791:132人目の素数さん
03/11/08 13:26
SolveやNSolveなどで複素数の答えがでてしまう式があります。
答えをCases[%, _Real]などで実数の範囲内を出すことができますが、
答えを編集するのではなく
もともとの式の変数の範囲を固定して
計算の高速化なり、入力する式達の簡略化はできるのでしょうか?
速度は不満ではないのですが、少し気になったので。
792:132人目の素数さん
03/11/08 18:48
>789
コントロールキーを押しながら
Mathematicaのアイコンをクリック
793:132人目の素数さん
03/11/13 19:23
Mathematica でバイナリファイルを読み込もうと
In[1]:= Needs["Utilities`BinaryFiles`"]
In[2]:= ReadListBinary["filename",Int16]
としているんですが処理が全然終わらないんです。
webで検索して
URLリンク(library.wolfram.com)
をみつけたのですが、mccがうまく動いていないのか
% mcc binary.tm -o binary
"binary.tm", line 189.15: 1506-195 (S) Integral constant expression with a value greater than zero is required.
(このあともいっぱい似たようなのが表示されます)
となりビルドできません。
実は読もうとしているデータはエンディアンが違い、
読めた後も一工夫しなければいけなさそうでそちらを相談したかったんですが、
それ以前に読めなくて行き詰まってしまっています。
どなたかこの原因をご存知の方、対処法を教えていただけないでしょうか。
Mathematicaのバージョンは Mathematica 4.1 for IBM AIX です。
794:大学生
03/11/13 22:57
大学で課題がでたんですがみなさんの案で私を助けてください!
問題(例えば高校の参考書の問題や例題、大学の問題でも可)をあげてそれの解答の一部分をマスマティカを使って
視覚的に解説せよ。(アニメーションを使うと理想的)
ってのがでたんですが、イイ案ありませんか?人とはちがったのをやりたいんですが・・・
私には知識がありません。おねがいします。
アド載せとくんでマスマティカのソースファイルなんかを添付してくれれば一生感謝します。
どうかおねがいします!もちろん書き込みしてくれても感謝ですm(__)m
795:大学生
03/11/13 23:03
>>794です。アド載ってませんでした。
796:132人目の素数さん
03/11/14 02:54
y=-x/(x^2+2)のグラフとその接点と接線を書きたいのですが、グラフと接点をtableとshowを使って
動かすのまではうまくいくのですが、接線が動きません、てか接線だけすら表示できません。教えてください。
797:朝から呑んでる大学生
03/11/14 09:41
>>796
暇つぶしになんとなく
Do[{
bmp=Graphics[{RGBColor[1,0,0],PointSize[0.02],
Point[{x,x/(x^2+2)}],{RGBColor[0,1,0],
Line[Table[{k,k/(k^2+2)},{k,-10,10,.2}]]},{RGBColor[0,0,1],
Line[Table[{p,(2-x^2) p/(x^2+2)^2+2 x^3/(x^2+2)^2},{p,-10,
10,.2}]]}}];
Show[bmp]},{x,-10,10}]
798:132人目の素数さん
03/11/14 10:10
>>797
何呑んでるの?
799:132人目の素数さん
03/11/14 19:45
x軸とy軸を描いてy=-x/(x^2+2)のグラフを固定し接線を動かすにはAxes->Trueとなにを使えばいいんですか?
800:132人目の素数さん
03/11/14 20:22
>>799
PlotRange
801:797
03/11/14 21:00
>>798
マサイの戦士
802:132人目の素数さん
03/11/14 23:21
>>801
「呑んでる」言うから酒かと思ったらソフトドリンクかい
803:132人目の素数さん
03/11/17 17:40
>>802
マサイの戦士は「ソフト」ドリンクですか??
804:マティカの戦士
03/11/18 11:05
>>803
こんな飲み物
URLリンク(www.otsuka.co.jp)
805:狼
03/11/18 22:27
あのーサイクロイドをマスマティカで書きたいんですがどうすればいいですか??
てかサイクロイドって円の一点を固定(?)して円を転がしてその一点の動いた軌跡じゃないですか?
私は円を転がしてその軌跡が描かれていく様子をアニメーションを使って表そうとしてるんですが、
うまくいきません。円と一点と軌跡をShowをつかってあらわしたいんです。
どうかだれか教えてください。(日本語下手ですいません)
806:132人目の素数さん
03/11/18 22:52
>>805
Mathematicaのヘルプにサンプルがあるだろ
807:狼
03/11/18 23:30
help英語でわかりません。コピペしていただけたらありがたいです
808:132人目の素数さん
03/11/18 23:59
XpでMathematica5を使ってると,ときどきカーネルが落ちるんだけど,
同じような人いる?
809:132人目の素数さん
03/11/19 00:16
>>808
重い計算させてりゃXPでなくてもカーネルは落ちる
810:132人目の素数さん
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人目の素数さん
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人目の素数さん
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人目の素数さん
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人目の素数さん
03/11/23 00:17
>>821
色塗はできるが斜線は自分で引くしかないんじゃないか。
824:821
03/11/23 00:58
そうですか、わかりました~ありがとうございます。
自分で作ってみますね。
825:132人目の素数さん
03/11/23 22:21
>>807
URLリンク(www.synapse.ne.jp)
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人目の素数さん
03/12/05 05:51
>>829
アカデミック価格だと、まあまあ買える値段だよ。
831:132人目の素数さん
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人目の素数さん
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人目の素数さん
03/12/07 10:43
Flatten[%]でいけました。よごし失礼。
836:132人目の素数さん
03/12/07 18:02
>829
生協に商用版がおいてあるの?
837:132人目の素数さん
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で売ってる
URLリンク(software.univcoop.or.jp)
839:132人目の素数さん
03/12/10 20:33
MATHEMATICA4.0をUNIXにインストールしようと思ったのですが、
パスワードだけ書き残していてライセンスIDをなくしてしまっていました。
さてここで問題です。
いったい私はどうしたら良いのでしょうか?
840:132人目の素数さん
03/12/10 20:43
ノーヒントですか?
相談なしですか?
841:132人目の素数さん
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人目の素数さん
03/12/11 15:33
C言語から評価式と、入力したパラメータをMathematicaに送り,Mathematicaで計算,
結果をCプログラムに返して表示される、というものを作ろうとしています.
で,関数を書いてみたのですが,いくつかわからない点がありましたので質問させてください.
①MathKernel.exeのパスの指定はどのようにするのでしょうか?
CプログラムのほうからMathKernel.exeのパスを指定し,char変数PATHに格納してあるとすると,
link = MLOpenString(env, "-linklunch -linkname 'PATH'", &err);
でいいのでしょうか?
②パッケージの読み込み時に使うのは以下のようにMLPutStringで良いのでしょうか?
MLPutFunction(link, "Get", 1);
MLPutString(link, "Package");
③一時変数はC言語側で定義するのでしょうか?
たとえば,以下の評価式で変数y,zはCプログラムのほうから入力するとき,y,zはC言語側で定義しますが,一時変数xもC言語側で定義するのでしょうか?(用いる変数はMathmatica内部で使用するのみであってもすべてCで定義するのでしょうか?)
temp = y + z
x = temp^temp
845:844
03/12/11 15:34
④定義関数f[t_]=~を送信するのはどうすれば良いのでしょうか?
f[Pattern[t, Blank[]]から,以下のようにしてみたのですが・・・
MLPutFunction(link, f, 1); //←これでいいのか?
MLPutFunction(link, "Pattern", 2);
MLPutDouble(link, t);
MLPutFunction(link, "Blank");
⑤(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
03/12/11 15:36
③に関して・・・
一時変数xも→一時変数tempと結果を代入する変数xも
の間違いです
847:こてはん
03/12/11 19:35
>>842
それほんと?
探してみたら俺のも行方不明でした・・・。
ピンチ?
848:132人目の素数さん
03/12/11 22:06
>>843
ヤフオクに出てる違法コピー買って摘発されてくださいw
849:132人目の素数さん
03/12/11 22:29
今M2で今年で卒業なんだけど
卒業までにstudent版を買ってら、来年も問題なく使えますか?
それとも自動的にライセンスが切れる仕組みになってるの?
卒業までに残りの貯金でソフトを購入する覚悟はできたのですが。
850:837
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
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
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人目の素数さん
03/12/12 12:09
>>849
問題なく使えるけどライセンス違反だぞ。
次回パスワードをもらうときに、困ったりするかもしれなかったりするかもしれない。。。
たぶん困らないけど。。。
昔はWolframに英語のメール出したりしてパスワード再発行しないといけなくて大変だった。
英語苦手だから、訳分からない文章だったろうなぁ。。。
Hey!とかから始めたし。
855:132人目の素数さん
03/12/12 12:30
>>849
俺もstudent版買ってパスワードもらう時、卒業時期を
思いっきりごまかしといたからだいぶ使えそう。
アップグレードもしないと思うし。
856:844
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の指定を行っていますが,これは必要あるのでしょうか?
②
>たぶん、EndPacket();が必要です
パッケージ読み込みの送信をしてMLEndPacket(link);を送信,その後に評価式の送信を行う場合はMLNextPacket(link);を送信する必要があるのでしょうか?
③
>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
03/12/12 18:47
④
大変恐縮ではありますが,関数の登録について詳しく教えていただけないでしょうか?
VCFEのEvaluate関数のところを見てみたのですが,正直なところほとんどわかりませんでした・・・
もちろん自分で理解しようと勉強してはいるのですが,苦戦している状況です・・・
⑤
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
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
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人目の素数さん
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人目の素数さん
03/12/15 00:08
自分で任意に入れたって部分がよく分からないけど
(ユーザー名とパソコン名?じゃもう一つはなんだろ…)
それじゃあライセンスIDは分かりそうもないね。。。
872:844
03/12/15 22:21
>>859,860さん
丁寧にありがとうございました。
教えてくださったこととVCFEを参考にしてソースを書いてみたいと思います
またなにかありましたらよろしくお願いしますm(_ _)m
873:大学生
03/12/17 20:22
ParametricPlot3Dでメビウスの輪の描き方教えてください。
よろしくお願いします。
874:132人目の素数さん
03/12/17 22:16
ヘルプに載ってるよ
875:873
03/12/17 23:33
ヘルプ見たんですがトーラスしかのってませんでした。どうか教えてくださいませんか?
お願いします。
876:837
03/12/18 16:20
URLリンク(mathworld.wolfram.com)
877:837
03/12/19 02:31
これすげぇ
メビウスの歯車だ。
URLリンク(mathworld.wolfram.com)
878:132人目の素数さん
03/12/19 03:13
notebookも落とせるところがよいね
879:844
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
03/12/20 17:48
また,ほかの評価式の場合,例えば
char expr[] = " Solve[{x + y == 5, 3x + 5y ==13}, {x,y}]";
といった連立方程式の評価を試みてみたところ,同様にアプリケーションエラーが出て終了してしまいました.
結果の取得に用いる関数がMLGetStringでは正しくないためと思われるのですが,どの関数を用いて結果の取得を行えばいいのでしょうか?
MLGetRealList等試してみたのですが,うまくいきませんでした.
よろしくお願いします
881:837
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
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人目の素数さん
03/12/24 00:40
>>883
このスレの一番最初にある関数は違うかな?
886:132人目の素数さん
03/12/26 11:03
FrameLabelのフォントサイズを指定するにはどうすれば良いのでしょうか?
FrameStyle->{FontSize->36}とか設定してもFrameLabelのフォントサイズ
は変わりません。
887:844
03/12/27 15:22
>>837さん
遅レスになりましたが、レスありがとうございました
参考にさせていただき、がんばってみます
888:132人目の素数さん
04/01/04 12:08
age
889:844
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
04/01/09 11:33
VCFEと同じようにして落ちるって言うのはありえないから、
同じように出来ていないって事では。
Debugger立ち上げて一行ずつどう処理しているかみてみるといいよ。
たぶん、必要なFlash関数の呼び出しとかをしていないんだと思うよ。
891:132人目の素数さん
04/01/09 14:37
どなたか
Fourierseriesexpansion[1/(Pi+Cos[x])]
をしてください。
892:132人目の素数さん
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
04/01/11 20:14
ベジェ曲線の長さを求める式の不定積分を無理やり計算しようとしているのですが、
僕のマシンが非力なのか計算できません。
どなたかできませんか?
もし計算を途中で止める場合はAlt+.かAlt+,です。
(* URLリンク(www.interq.or.jp) *)
(* #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
04/01/11 20:22
>> 893
やったことないけど
FindRoot, FindMinimum, ConstrainedMin, ConstrainedMax,
あたりかな?
素直にヴァージョン上げるのが一番早いと思うよ。
896:844
04/01/12 23:20
>>837さん
レスありがとうございます
おっしゃるとおりFlash関数呼び出していませんでしたので,やってみます
グラフィック描画はどのようにすればよいのでしょうか?
(VCFEで簡単なプロットをさせてみようとしてもエラーが出て描画できないのですが,実装されていないのでしょうか?)
VCFEのソースを見たのですが、いまいちよくわかりません
WMFファイルのオープン?とかさっぱりです・・・
プロット画像情報のWMFファイルが作成されていて,それをOpenWMFFileで読み込み,DisplayGraphicで表示させていると解釈していいのでしょうか?
とすればどこにWMFファイルが作成されているのか等々問題点は尽きないのですが・・・
また,DISPLAYENDPKTが来ると描画させているようですが,DISPLAYPKTのときはどのような処理を行っているのでしょうか
?グラフィックウインドウに空文字列または出力文字列を表示させようとしているみたいですが・・・
質問ばかりで申し訳ありませんがよろしくお願いします
897:837
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
04/01/13 02:39
ここでも出来た!
3 Sqrt[AA + BB x + CC x^2 + DD x^3 + EE x^4]
URLリンク(integrals.wolfram.com)
でも横が切れちゃってる……。
899:844
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
04/01/13 16:13
tempフォルダのパスに2バイト文字が入っていたのがいけなかったようで,
環境変数からパスを変更してみたところ表示できるようになりました
お騒がせしました・・・
901:837
04/01/13 20:19
(,,゚Д゚) ガンガレ!
902:132人目の素数さん
04/01/14 14:00
PolarPlotを実行しても、なぜか命令文と同じ文が表示されて、
グラフが描かれません。
どのようにすればグラフが描かれるようになるのでしょうか?
教えてください。お願いします。
Version5です。
903:837
04/01/15 01:36
<< Graphics`Graphics`
904:902
04/01/16 16:53
>>903
さんくす
905:132人目の素数さん
04/01/16 17:53
バックグラウンドを黒にすることはできないの?
906:837
04/01/16 18:38
Alt+E,F
書式設定→フォント設定→(FontColor || Background)
907:132人目の素数さん
04/01/16 19:24
さんくす。まじで。
908:132人目の素数さん
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
04/01/17 20:52
いつもお世話になっております
ある評価をした際にグラフが2つ出力される場合,その2つをそれぞれ2つのピクチャボックスに表示させたいのですが,
どうすればよいでしょうか?
描画関連の関数はとりあえずVCFEのを流用して,改変してみたのですが,
1つ目のグラフをピクチャボックス1に表示させ,2つ目をピクチャボックス2に表示させようとすると,1つ目が表示され,その後2つ目が表示されるのですが
1つ目がなぜかクリアされてしまいます・・・
OpenWMFFile関数内のDeleteEnhMetaFileを実行しなければクリアされないかと思ったのですが,うまく行きませんでした
スレ違いかもしれませんが,VCFE関連ですのでご容赦ください
910:837
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
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人目の素数さん
04/01/18 07:27
フーリエ変換の係数は指定できます。ヘルプ参照。
914:908
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
04/01/18 13:15
(12s - 6)/(4s^2 - 4s + 37)を部分分数分解するところで
A/(s-α) + B/(s-β)とやったのがまずかったみたいです。
分母の最高次の係数を1にしないとダメぽです。
1/4 * [A/(s-α) + B/(s-β)]が正しい。
部分分数分解なんて大嫌いだ~~
URLリンク(www12.plala.or.jp)の
”三つにわかれるもの 1”が参考になりますた。インターネット、マンセー
916:911
04/01/18 14:25
>>912
感謝。
917:844
04/01/18 17:35
>>837さん
レスありがとうございます
保存というのはどこで行っているのでしょうか?
fopen関数でメタデータが入ったtempファイルを読み出して
SetWinMetaFileBitsでメタファイルを作成しているんですよね?
その作成したメタファイルを保存しているのでしょうか?
自分の見たところどこでは保存しているのかちょっとわからないです・・・
918:132人目の素数さん
04/01/19 12:59
コピーに厳しいMathematicaより
コピーに優しいMapleだろ、やっぱ
919:837
04/01/20 02:09
>>917
きっとテンポラリファイルを作る関数で作ってるよ。
fopenで開いているのであれば、fopenで渡す引数が生まれたところだ。
生まれた場所へ誰もが還るのよ……。
>>918
Mapleは>>894,897,898の問題は解けますか。
解けるのであれば速攻移行します。またMathLinkみたいな
プログラムがMapleを呼び出すインターフェイスはありますか?
920:844
04/01/20 21:01
>>919さん
レスありがとうございます
たびたびすみません
tempファイルを作る関数ってありますでしょうか?
DISPLAYENDPKTが返ってきたときにtempファイルのフルパスが入ったOutputStringを取得し,
それをOpenWMFFile関数のfopenにおくっていると思うのですが。
ちなみにフルパスを確認したところ,tempファイルは2つ作られていて上書きされてはいませんでした
921:837
04/01/21 00:19
>>920
たぶん、きちんと二つのWMFファイルをメモリ上に読みこんでいないのでは。
いちおう二つめのWMFファイルを手に入れる前に
新たにtempfileとして一つ目のファイルをコピーしてから、メモリ上に読みこんでおき、
そして二つめのWMFファイルも同じく
新たにtempfileとしてコピーしてからメモリ上に読みこんでおき、
描画メッセージが送られてきた時に表示するようにするのが言いと思います。
ピクチャボックスならHANDLEとして渡している部分がきっとあるでしょう。
そして必要なくなったらHANDLEを閉じて、読みこんだメモリを削除して、
コピーしたtempfile達も削除すると。
922:132人目の素数さん
04/01/21 11:45
スレリンク(math板: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人目の素数さん
04/01/21 18:33
どこまでわかってるの?
924:132人目の素数さん
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
04/01/21 19:07
機能に影響は無いがちょっと修正
args -> arg
{i, nTotal} -> {nTotal}
926:132人目の素数さん
04/01/21 23:27
正直、>>924さんのを見て驚愕しています。
mathematicaの基本的な使い方しか授業では習っていなかったもので....。
この問題も解法の見当がつかない次第でした。
明日大学で>>924さんのを入力してみます。ありがとうございます
927:837
04/01/22 14:00
面白いなぁ。おいらには答えられない。
928:844
04/01/27 17:14
>>837さん
遅レスですがどうもありがとうございました
tempファイルをコピーしておいて,ピクチャボックスのプロシージャや
メタファイルハンドル2つ用意してやってみたらなんとかできました
また何かありましたらよろしくです^^;
929:132人目の素数さん
04/01/27 20:42
mapleスレがないのでこちらで質問させていただきます。
mapleのワークシートの背景を変更することはできないのでしょうか。
白だと目が痛いです・・・。
930:132人目の素数さん
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
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人目の素数さん
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人目の素数さん
04/01/28 01:57
>>931
オオ!完璧です!
あいらぶゆー
934:132人目の素数さん
04/01/28 16:22
スミマセン、私もListPlotで点を連結して2Dの折れ線グラフを書いてるんですが、
複数のグラフを重ねてShowで表示させ、グラフ同士を比較したいのですが、
どれがどのグラフなのかがわかりにくくなってしまいます。
そこで、各グラフの右端、つまりx軸の最大値に対してPlotした点の右脇に、
グラフの番号を表示させて、グラフを重ねてもグラフ同士の区別がつくようにしたいのですが、
どうやればいいんでしょうか…。
親切な方、教えて下さいm(_)m
935:132人目の素数さん
04/01/28 22:36
>>934
ていうか色をつければいいのでは。
936:132人目の素数さん
04/01/28 23:02
>>935
印刷するのでカラー使えないんですよ…。
いよいよ方法がないとなったら、MSペイントか何かで直接画像に数字書き込めばいいんで
そんなせっぱ詰まってもないんですけど…。
937:132人目の素数さん
04/01/29 14:45
>>936
じゃあ、Legendをヘルプで。
938:132人目の素数さん
04/01/29 19:22
>>870
ちなみにkeygenはネットに出回ってるよ。5.0でも使える奴が。
939:132人目の素数さん
04/01/29 22:50
オイラー閉路の問題なんですが、
アルゴリズム
入力:オイラー閉路を持つグラフG
出力:Gのオイラー閉路
手順:任意の頂点Sから出発して、次の規則に従いたどれる辺が無くなるまで辺をたどる
(1)たどった辺はGから除く
(2)ほかにたどる辺が無い場合以外は橋をだどらない。
上のオイラー閉路を見つけるためのアルゴリズムを使った、アニメーションプログラムを教えて下さい!