- 1 名前:132人目の素数さん [2001/03/20(火) 02:34]
- ないので立てました。
Mathematicaについて語るスレです。 大学で初めて出会った時は感動したなぁ。(NeXT版…) Plot3Dでよく遊んだものです。 四次方程式の一般解を出力して、壁に貼ったりしてました(w
- 486 名前:479 == 485 mailto:sage [03/06/27 23:45]
- >>484
See f in >>485.
- 487 名前:475 mailto:sage [03/06/27 23:54]
- >>486
ありがとうございます。手元にMathematicaがないので 少し勉強して、学校ので試してみたいと思います。 数学的に(nを使って)解くことが出来たらそれが一番いいのですが、 それはここで聞くことではないので他のスレで聞いてみます。
- 488 名前:132人目の素数さん [03/07/04 13:36]
- 再セットアップしたらアクティベーションできなくなった
- 489 名前:132人目の素数さん mailto:??? [03/07/04 19:39]
- www.wolfram.com/
うわーん! Ver.4.2の情報しかないじゃないか。 しかも日本語だー
- 490 名前:132人目の素数さん mailto:sage [03/07/05 01:36]
- >489
どこかに English ってあるからそこから英語ページへ。 トップにあるよ。 まあ大規模行列と数値計算の速度改良が主ですね。 試行錯誤でアルゴリズム作るときは、全作業時間において コンパイル系とためはるつもりなのかな なお日本では日本語版のみしか売れない。 誰だよな日本語ヘルプキット強制バンドル計画したやつは。
- 491 名前:132人目の素数さん mailto:??? [03/07/05 21:11]
- ttp://www.wolfram.com/products/mathematica/newin5/
に五版の概要がありますね。 英語版でいいから新しいやつを動かしてみたいねえ。 ほんと。
- 492 名前:132人目の素数さん [03/07/05 23:02]
- 私が作りました♪
nuts.free-city.net/index.html
- 493 名前:488 mailto:sage [03/07/07 15:52]
- 誰か助けてくれ
- 494 名前:132人目の素数さん mailto:sage [03/07/07 19:47]
- >>493
サポートに連絡しろ。
- 495 名前:132人目の素数さん mailto:sage [03/07/08 01:13]
- >>494
わかったやってみる dくす
- 496 名前:475 mailto:sage [03/07/08 16:22]
- >>479
Max @@ ((Length[#]!)/(Times @@ (#[[1]]! &) /@ Frequencies[#]) &) /@ Partitions[5] を実行したところ Part::"partd": "パート指定5[[1]]の長さはオブジェクトの深さを超えています." 1/5[[1]]! となったのですが、直すべきところがわからないので教えてください。
- 497 名前:132人目の素数さん mailto:sage [03/07/08 21:15]
- >>496
ちゃんと上の二行を入力してください。 # そのエラーはPartitions[5]が評価されていないため。
- 498 名前:132人目の素数さん [03/07/08 22:23]
- 最大尤度法で推定をしていて、結構複雑なモデルなんですが、推定したい変数が5個
あるんです。それで、尤度関数を作って、偏微分してFindRootつかって求めようした んですが、出来ないんです。 そこで、正規分布使って、普通に正規分布を推定してみようって思って、同じような 方法を使ったんですが、これでもうまくいきません。エラーとしては {{初期値の尤度}},{{初期値の尤度}}は、{a,b}={1,2}では長さ2のリストになって いません というような感じです。最大尤度法をやってるプログラムのサンプルどっかないかなあ って探したんですが、見つからないし・・・・。泣きそうなんですけど、どなたかお助け ください。
- 499 名前:132人目の素数さん mailto:sage [03/07/08 22:43]
- >>498
その説明で他人がなにかわかると思うか? > んですが、出来ないんです。 ふーん出来ないんだ。(どこがどう出来ないのか全くわからん) > {{初期値の尤度}},{{初期値の尤度}}は、{a,b}={1,2}では長さ2のリストになって 文法間違いだな。 (syntax errorなんだからソース見ないとどうしようもない) > って探したんですが、見つからないし・・・・。泣きそうなんですけど、どなたかお助け まぁ冷静になれ。
- 500 名前:132人目の素数さん mailto:sage [03/07/08 23:08]
- >>497
わかりました。
- 501 名前:498 [03/07/08 23:11]
- そうですか・・・・すいません。どっかサンプルプログラム探すしかない
ですかね・・・ 正規分布を推定する場合、乱数を出して、その後、尤度関数を出せたとして K1[a_,b_]=D[L[a,b],a] K2[a_,b_]=D[L[a,b],b] として、 FindRoot[{K1=0,K2=0},{a,-1},{b,2}] としてるんですけど。。この部分では、間違いがないとは思ってるんですが 尤度関数が間違ってるのかな・・・・。はあー泣きそう。。。
- 502 名前:132人目の素数さん [03/07/08 23:12]
- ☆頑張ってまーす!!☆女の子が作ったサイトです☆
☆見て見て!! yahooo.s2.x-beat.com/linkvp/linkvp.html
- 503 名前:132人目の素数さん mailto:sage [03/07/08 23:20]
- >>501
Mathematicaの基礎からやりなおしってかんじ。 とりあえずダメなところは指摘しとくが、 マニュアルか教科書(上でも挙がってる)読み直せ。 > K1[a_,b_]=D[L[a,b],a] = と := の違いが良くわかってるのなら何もいわないが。 > FindRoot[{K1=0,K2=0},{a,-1},{b,2}] K1 = 0 は K1 という変数を 0にする。 書くなら {K1[a, b] == 0, K2[a,b] == 0} 。
- 504 名前:498 [03/07/08 23:20]
- あー勿論
FindRoot[{K1[a,b]=0,K2[a,b]=0},{a,-1},{b,2}] としてます。。。。。 サンプルプログラム載ってるサイトってないですかねえ・・・・。。。
- 505 名前:503 mailto:sage [03/07/08 23:22]
- >>504
その2行目をもういちど読み直せ。
- 506 名前:498 [03/07/08 23:23]
- :=と=の違いってえーと、すみません、良く分ってないです。。。
確か:=は、なんか固定するみたいな意味だった気が・・・・
- 507 名前:498 [03/07/08 23:25]
- >>505
==ですね・・・すみません、それは、やってます・・・・。
- 508 名前:503 mailto:sage [03/07/08 23:28]
- >>506
で、聞いてる方としてはあいかわらずどこがうまく行かないのか わからないんだが。 で、どううまくいかいの? エラーメッセージは?
- 509 名前:498 [03/07/08 23:37]
- エラーメッセージは、FindRootのところなんですよー。
>>498に書いたようなエラーメッセージが出ます。 FindRootの文法は、合ってると思うんですが。。。
- 510 名前:503 mailto:sage [03/07/08 23:45]
- >>509
498を読んだところでは第一パラグラフと第二パラグラフは 別の手段を試してるようにしか読めない(FindRootで失敗したから別の手段)。 どの関数でエラーが出力されたかもわからない。 エラーがあなたの言語に翻訳されているがそれが適切かどうかわからない。 すでに書いたがsyntax errorはソースをみないと何もわからない。 技術的なことを質問する方法をしらない、 シンタックスエラーが自分で解決できない、 レベルだったらソース張るべきだよ。 変にプライドがあるのかそういう「初心者」は多いけどね。 情報を出さずに、自分のやってることは間違ってない!、みたいな。 たんに誰かが作ったライブラリが欲しいのなら、 まず、googleなりwolframのサイトなりを検索し、 もっと適切な質問のしかたをすべき。 おれは今日はもう寝ます。
- 511 名前:503 mailto:sage [03/07/09 00:02]
- >>509
寝ようと思ってたが気づいたので。 多分 L が リストを返してるからだ。
- 512 名前:132人目の素数さん [03/07/09 14:24]
- ndist2=NormalDistribution[0,4];
p1=Table[ Random[ndist2],{100}]; L[a_,b_] = Product[(1/(Sqrt[2*π]*a))*Exp[(-({p1[[i]] - b}^2/(2 *a^2)))],{i,1,100}] K1[a_,b_]=D[L[a,b],a] K2[a_,b_]=D[L[a,b],b] FindRoot[{R1[a,b]==0,R2[a,b]==0},{a,{1,2}},{b,{-2,4}}] ソースは、これです。 >>511 あーそれは、どうすれば、解消できますかね。リストで返さずに関数として認識 してもらわないとつらいっすね・・・。
- 513 名前:498 [03/07/09 15:12]
- あっ最後の式は、
FindRoot[{K1[a,b]==0,K2[a,b]==0},{a,{1,2}},{b,{-2,4}}] です。
- 514 名前:132人目の素数さん [03/07/09 16:05]
- 今課題をやっています。
誰か偏微分係数の出し方を教えてください。 ちなみにMathematika 4.1を使用しています。 ヘルプの使い方がわからなくて・・・
- 515 名前:514 [03/07/09 16:19]
- 解決すますた。
失礼。
- 516 名前:503 mailto:sage [03/07/09 17:37]
- >>498
ソースはコピペしてそのまま張れ。 タイプミスもあるしな。 πってPiだよな? <<Statistics`NormalDistribution` してるんだよな? 原因はp1のまえにある'{'だ。'{'はリスト構築子。 L[a_,b_] = Product[(1/(Sqrt[2*π]*a))*Exp[(-({p1[[i]] - b}^2/(2 *a^2)))],{i,1,100}] ↓におきかえろ。 L[a_,b_] = Product[(1/(Sqrt[2*π]*a))*Exp[(-((p1[[i]] - b)^2/(2 *a^2)))],{i,1,100}]
- 517 名前:132人目の素数さん [03/07/09 21:13]
- このスレッドの人から見てS言語はどうですか?
社会学系だとmatlabやmathematicaより使われていますが…
- 518 名前:498 [03/07/10 16:44]
- >>516
ありがとうございました。それで正規分布の推定は、できました。ただ、本当に 求めたいのは、 L[a1_, a2_, b1_, b2_, b3_] = Sum[y1[[i]]*Log[F[a1 - (b1* x1[[i]] + b2*x2[[i]] + b3* x3[[i]])]] + y2[[i]]* Log[F[a2 - (b1*x1[[i]] + b2*x2[[i]] + b3*x3[[i]])] - F[ a1 - (b1*x1[[i]] + b2*x2[[i]] + b3*x3[[i]])]] + y3[[i]]*Log[ 1 - F[a2 - (b1*x1[[i]] + b2*x2[[i]] + b3*x3[[i]])]], {i, 1, 100}]; という結構複雑なもので、これも{を(にしてみたんですが、やはりリストで返してる みたいです。Sumの扱い方が悪いんでしょうか・・・・ てか、見にくくてすみません。
- 519 名前:132人目の素数さん mailto:sage [03/07/10 19:28]
- >>518
a1,a2,b1,b2,b3,F,y1,... のどれかにリストが入ってんだろ… 同じことを何度も書くが、部分だけ張るなよ… プログラミング自体初めてなのかも知れないが、レベル低すぎる。 一冊Mathematicaの本読め。
- 520 名前:498 [03/07/10 21:10]
- すみません、一遍に貼れないんで2回に分けますけど、これが全部です。。。
<<Statistics`ContinuousDistributions` ndist=NormalDistribution[0,1]; x1=Table[ Random[ndist],{100}]; x2=Table[ Random[ndist],{100}]; x3=Table[ Random[ndist],{100}]; y=Table[2*x1[[i]]+3*x2[[i]]-x3[[i]],{i,100}]; y1=Table[If[y[[i]]<=-5,1,0],{i,100}]; y2=Table[If[-5<y[[i]]<=5,1,0],{i,100}]; y3=Table[If[5<y[[i]],1,0],{i,100}];
- 521 名前:498 [03/07/10 21:11]
- F[x_] = Integrate[Exp[z]/{1 + Exp[z]}^2, {z, -Infinity, x}];
L[a1_,a2_,b1_,b2_,b3_]=Sum[y1[[i]]*Log[F[a1-( b1*x1[[i]]+b2*x2[[i]]+b3* x3[[i]])]]+ y2[[i]]*Log[F[a2-(b1*x1[[i]]+b2*x2[[i]]+b3*x3[[i]])]- F[a1-(b1*x1[[i]]+b2*x2[[i]]+ b3*x3[[i]])]]+y3[[i]]*Log[1- F[a2-(b1*x1[[i]]+b2*x2[[i]]+b3*x3[[i]])]],{i,1,100}]; K1[a1_,a2_,b1_,b2_,b3_]=D[L[a1,a2,b1,b2,b3],a1]; K2[a1_,a2_,b1_,b2_,b3_]=D[L[a1,a2,b1,b2,b3],a2]; K3[a1_,a2_,b1_,b2_,b3_]=D[L[a1,a2,b1,b2,b3],b1]; K4[a1_,a2_,b1_,b2_,b3_]=D[L[a1,a2,b1,b2,b3],b2]; K5[a1_,a2_,b1_,b2_,b3_]=D[L[a1,a2,b1,b2,b3],b3]; FindRoot[ {K1[a1,a2,b1,b2,b3]\[Equal]0, K2[a1,a2,b1,b2,b3]\[Equal]0, K3[a1,a2,b1,b2,b3]\[Equal]0, K4[a1,a2,b1,b2,b3]\[Equal]0, K5[a1,a2,b1,b2,b3]\[Equal]0}, {a1,0},{a2,1},{b1,1},{b2,3},{b3,1} ]
- 522 名前:503 mailto:sage [03/07/10 21:20]
- >>521
F[x_]の定義を良く読め。 それからMathematicaでプログラミングするときは 出力を確認しながらやれ。 F[x_] の行をセミコロン無しで打つか、 F[x]とか試しに打ってみながらやってれば間違えないだろ? あとは自分でやれ。
- 523 名前:132人目の素数さん mailto:sage [03/07/11 14:51]
- Solve[]や、NSolve[]で、求めた複数の解のうち、
ひとつだけを使いたいのですが、 たとえばt = %[[-1]], t = Last[%]などとしても、 {x ->0.234hogehoge}と t に入ってしまいます。 この x->を取り除くにはどうすればいいのでしょうか?
- 524 名前:523 mailto:sage [03/07/11 15:00]
- x /. %
でできました。トンクス
- 525 名前:132人目の素数さん mailto:sage [03/07/12 00:43]
- >521
えー、 Sum[<<>>,{i,1,100}] ってあるけど 数値やるなら NSum じゃ駄目なん? どうせFindRoot なんだし
- 526 名前:132人目の素数さん [03/07/14 23:27]
- あのー四捨五入するような関数ってないですか?切り捨てでもいいんですけど。
マニュアルで調べてみたんですが見つからなくて・・・・
- 527 名前:132人目の素数さん [03/07/14 23:28]
- Roundじゃないの?
- 528 名前:132人目の素数さん [03/07/14 23:36]
- 0.5足して切り捨てろ。
- 529 名前:山崎 渉 mailto:(^^) [03/07/15 12:38]
-
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
- 530 名前:132人目の素数さん [03/07/16 23:06]
- shop.ponycanyon.co.jp/kids/p14796.html
- 531 名前:132人目の素数さん [03/07/17 07:26]
- age
- 532 名前:132人目の素数さん [03/07/17 14:11]
- >>530
これなら3,800円か。安いな。
- 533 名前:132人目の素数さん [03/07/17 16:26]
- 質問なんですが、例えば
x=k/10 y=k+1 For[k=1,k<11,k++, r=x+y] みたいに繰り返し計算をさせる場合に、このrは、毎回更新されてしまうんで その結果を格納してリストの形にしたいとするとどーすればいいですか? 勿論、これぐらい単純だとTable使えばいいんですが、やりたいのはもっと ややこしいんで、結果をリストにする格納する方法を教えてください。 よろしくお願いします。
- 534 名前:132人目の素数さん mailto:sage [03/07/17 19:13]
- >>533
単純であろうがなかろうがTableでいいはずだ。 どうしてもというなら l ={} For[k=1,k<11,k++,r=x+y;l = Prepend[r,l]] 等。 しかしmathematicaではFor文を使う必要はない(その上 遅いので使うべきでもない)ので再考することを勧める。
- 535 名前:132人目の素数さん mailto:sage [03/07/18 14:39]
- とぇ
- 536 名前:132人目の素数さん [03/07/22 12:25]
- FindMinimumを使って最小値とそのときの変数の値を求めると、
{234,{a -> 3,b -> 2}} みたいな感じだと思うんですが、これをいっぱい出して、a,bの平均値を出すには どうすればいいでしょうか?
- 537 名前:132人目の素数さん mailto:sage [03/07/23 01:12]
- >>546
漠然としすぎ。 こういうことか? << Statistics`DescriptiveStatistics` data = {x, y} /. (#[[2]] &) /@ Flatten[Table[ FindMinimum[Sin[x + y], {x, i}, {y, j}], {i, 0, 3}, {j, 0, 3}], 1]; Mean /@ Transpose @ data
- 538 名前:132人目の素数さん mailto:sage [03/07/23 01:12]
- >>537
s/546/537
- 539 名前:537=538 mailto:sage [03/07/23 01:13]
- 536駄・・・まちがえすぎだ。
- 540 名前:536 [03/07/24 13:07]
- すみません、537のプログラム見て解読してたんですけど、ちょっと良くわかんなくて。
たとえば、 FindMinimum[f[a,b],{a,1},{b,2}] とした場合、{最小値,{a -> 0.89898},{b->0.1}] みたいにした場合、a->の部分を消すのはどうすればいいですか?
- 541 名前:536 [03/07/24 14:36]
- なんか読みにくいですね・・えーと置換なんかでうまくa->の部分を消せない
かなあと・・・無理なんですかねえ。。。
- 542 名前:132人目の素数さん [03/07/24 14:37]
- 開店セール見に来てーーーーーーーーーー!DVDを見ようー!GO!
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ 開店セール1枚 500円より→→→www.dvd-exp.com アダルトDVDが激安販売→→→www.dvd-exp.com アダルトDVDの価格はなーんと1枚900円→→→www.dvd-exp.com 最短でご注文いただいた翌日にお届け!→→→www.dvd-exp.com セルビデオ店の人気商品が24時間お買い物が出来ます。 見やすい画面・注文簡単・時間をかけてゆっくり選んでください! www.dvd-exp.com←へGO! DVDエクスプレス
- 543 名前:132人目の素数さん mailto:sage [03/07/24 15:18]
- >>541
簡単に消せるように"->"つきで出力されている。 s = {a -> 1, b -> 2} {a,b} /. s
- 544 名前:132人目の素数さん [03/07/24 22:08]
- s はリストみたいになっているから
s[[1]] や s[[2]] とかで取り出しても良いんじゃない?
- 545 名前:132人目の素数さん mailto:sage [03/07/25 04:10]
- >>544
543で解決してます。”a->”みたいなのを取り除きたいってのが541の質問だろ。 ってか、房は黙ってろ(w
- 546 名前:536 [03/07/25 12:02]
- >>543
ありがとうございました。出来ました。 >>544 それだと、a -> 0.89898などと出ます。
- 547 名前:132人目の素数さん mailto:??? [03/07/25 13:33]
-
s[[2,2]] とやるんじゃ
- 548 名前:132人目の素数さん [03/07/25 14:11]
- 【クレジットカードのショッピング枠を現金化!】
クレジットカードで買い物をすると、商品代金の80〜90%のキャッシュバック!! 10万円の買い物をすれば8〜9万円の現金がお手元に!! ■■朝日カード■■ www2.pekori.to/~ryu/asahi/
- 549 名前:132人目の素数さん mailto:sage [03/07/25 21:29]
- >>547
自分で一回やってみれば?違うのよくわかるから。 ほとんど使ったことないでしょ?分りもしないのにアドバイスしようとしない 方がいいじゃないのか?
- 550 名前:132人目の素数さん mailto:sage [03/07/25 22:37]
- >549
残念ですが{a->1,b->2}[[2,2]] で 2 が出てくるよ。 [[]] は別に行列以外でも使える、数式構造の場所指定でした。 まあこのやり方は、-> の値を取り出すのにふさわしくないとは 僕も思いますがね。
- 551 名前:132人目の素数さん mailto:sage [03/07/25 22:40]
- In[4]:=
{a -> 1, b -> 2} [[{1,2},2]] Out[4]= {1,2} List[Rule[a, 1], Rule[b, 2]] In[6]:= FullForm[{{1,2},{a,b}}] Out[6]//FullForm= List[List[1,2],List[a,b]]
- 552 名前:132人目の素数さん mailto:sage [03/07/25 22:52]
- >>550
質問の意図と違うから。その意味での違うなんだけど?なにがでしただよw
- 553 名前:550 mailto:sage [03/07/25 23:02]
- >552
確かに s[[2,2]] だと、本当に欲しい {1,2} は 出てきませんね。失礼スマソ。 ただ -> に対して、通常考える /. 以外の [[]] 指定方法に 目を付けた点は悪くはないのでは、とちょっと擁護 してみたかったのでした。
- 554 名前:132人目の素数さん mailto:sage [03/07/26 10:30]
- >>553
> 目を付けた点は悪くはないのでは、とちょっと擁護 何がやりたいのかわかりにくい、バグに弱い、 一般的な状況(a^2 + aを求めるとか)では使えない… センス悪すぎるよ。
- 555 名前:132人目の素数さん [03/07/26 20:47]
- リストから第一行目、第十一行目、第二十一行目・・・というふうに取り出したい
んですけど、どーすればいいですか?
- 556 名前:132人目の素数さん mailto:??? [03/07/26 22:46]
- >554
Mathematicaのルールどおりだからバグに弱くない おまえがセンス悪、 それとも正確ワルか
- 557 名前:132人目の素数さん [03/07/26 23:07]
- _,.. ---- .._
,. '" `丶、 / ` 、 ,..-‐/ ...: ,ィ ,.i .∧ , ヽ. . ,:' .l .::;',. :::;/..://:: /,':/ ', l、 .i ヽ . ,' ..::| .::;',' :;:','フ'7フ''7/ ',.ト',_|, , ',.', ,' .::::::!'''l/!:;'/ /'゙ / '! ゙;:|:、.|、| 'l . ,'. .:::::::{ l'.l/ 、_ _,. 'l/',|.';| l :::::::::::';、ヾ  ̄ `‐-‐'/! ';. ' . ! :::::::::::/ `‐、 ゝ |'゙ | | ::::::::/ \ 、_, _.,.,_ ノ::: ! |::::/. _rl`': 、_ ///;ト,゙;:::::./ マターリと良スレ。 .. `´ /\\ `i;┬:////゙l゙l ヾ/ 数ヲタがうなぎを食べられますように・・・ ,.:く::::::::`:、\ 〉l゙:l / !.| . /:.:.:.:\:.:.:.:.`:、ソ/:.:| | | /.:.:.:.:.:.:.:.:.:\:.:.:.:У:.:;l /./ . /:.:.:.:.:.:.:.r'´`‐,`、:/.,.:‐{ | !`:、 ,'.:.:.:.:.:.:.:.:.';_,゚.,ノ.:./,:':.:.:.:', | |`、:| !:.:.:.:.:.:.:.:.:.:.゙、:.::/:.:.:.:.:.:.ヽ, / ,!:.:`、
- 558 名前:132人目の素数さん mailto:sage [03/07/27 00:52]
- 鰻食いてーー
- 559 名前:132人目の素数さん mailto:sage [03/07/27 00:53]
- でも貧乏だからとても買えねーよ(;´Д`)
- 560 名前:132人目の素数さん mailto:sage [03/07/27 01:07]
- >>556
> Mathematicaのルールどおりだからバグに弱くない あきれますな。悪いこと言わんからもっと謙虚になれ。 プログラムくんだ経験自体無いだろ? たとえばFindRootで解が見付からなくてそのまま式自体が かえったらどうなる? [[]]ってのはかなりError proneだぞ。
- 561 名前:132人目の素数さん mailto:sage [03/07/27 09:37]
- >555
tensor_a[..., Table[1+10 i,{i,0,5}], ....] てな感じ。ポイントは添字指定で数字ではなく リストを使うこと。
- 562 名前:550 mailto:sage [03/07/27 09:53]
- >560
/. でも FindRoot そのままの式が返ってくると あまりうれしくない気がするけど。。。 /. を使うと a^2+a /. みたいな純関数的使い方が出来て 見通しが良くなるのは確かに同意。 つまり /. と -> はペアで使うのが基本なのは当然だけど Lisp 的な感覚として式の木構造を考えることが出来る [[]]も 無下に NG とするのもどうかも。。。。 あきらめ悪いっすかね
- 563 名前:132人目の素数さん [03/07/27 10:59]
- Mathmatica 4を使っています。
Module[{i, j}, ans = {}; Do[ Do[ ans = Append[ans, {i, j}], {j, i + 1, 3} ], {i, 2} ] ans ] を実行すると {{Null, 2 Null}, {Null, 3 Null}, {2 Null, 3 Null}} と変なNullという文字が引っ付いてくるのですが、 どうすれば、まともな答えが戻ってくるのでしょうか?
- 564 名前:132人目の素数さん mailto:sage [03/07/27 13:15]
- >>562
エラーメッセージが出て、文字がそのままかえってくる のと、 「何も言わずに、間違った答えがかえってくる」 のでは大違いだぞ。 全ては式である、ということの一例として[[]]がつかえることを 理解していることは必要だが、無闇に使うのは否定すべきだよ。
- 565 名前:132人目の素数さん mailto:sage [03/07/27 13:19]
- >>563
] ans -> ]; ans
- 566 名前:132人目の素数さん mailto:sage [03/07/27 14:01]
- >>563
おれは>>534だから一応Tableによる解決を書いておく。 このほうがすくなくとも数倍速い。 UpperInds[n_Integer] := Flatten[Table[Table[{i,j},{j, i + 1, n}],{i,n - 1}],1]
- 567 名前:563 [03/07/27 14:45]
- >>565
ありがとうございます。解決ししました。 >>566 ありがとうございます。 じつは、「内側のループのなかで、i,jを使った条件判定をやった結果、条件 を満たした時のみ、i,jに依存する要素をansに加えていく」というのがやりたい ことなので、ちょっとそのままでは教えていただいたやりかたは使えないよう です。
- 568 名前:132人目の素数さん mailto:sage [03/07/27 15:15]
- >>567
それなら UpperInd[n_Integer] := Module[ {ConvertFunc = Sin[#[[1]] + #[[2]]] &, CondFunc = EvenQ[#[[2]]] &}, ConvertFunc /@ Flatten[Table[ Select[Table[{i, j}, {j, i + 1, n}], CondFunc], {i, n - 1}], 1]] あるいは、 Table[If[..., ..., Gomi],...]としてあとでGomiを除くとか。 綺麗なのは、 ConvertFunc /@ Select[Flatten[Table[{i,j},{i,n},{j,n}],1], CondFunc] (CondFuncのなかで#[[1]] < #[[2]]も判定) みたいなやつかな。
- 569 名前:132人目の素数さん [03/07/29 01:55]
- すみません、ものすごく初心者なんですけど教えてください。
非線形の最適化ってできるのですか? お願いします。
- 570 名前:132人目の素数さん [03/07/29 11:57]
- ウルフラムさん
セルオ−トマトンの原理で宇宙の起源を解明しようとしてるらしい 一体どうしちゃったんだろうか
- 571 名前:132人目の素数さん mailto:Sage[] [03/07/29 11:58]
- なんかMathematica5.0ての海外では売ってるらしいんですけど。
- 572 名前:132人目の素数さん mailto:sage [03/07/29 22:13]
- a[0]=0
a[1]=1 a[n+2]=a[a+1]+a[n] みたいな漸化式を使ってa[100]とかを求めるにはどうすればいいですか?
- 573 名前:132人目の素数さん [03/07/29 22:39]
- age
- 574 名前:132人目の素数さん mailto:sage [03/07/29 22:58]
- >>572
a[0] = 0; a[1] = 1; a[n_] := a[n - 1] + a[n - 2]
- 575 名前:574 mailto:sage [03/07/29 23:00]
- >>572
100は計算回数(2^100)が多すぎる求められんと思うぞ。 計算結果を覚えながらやれば別だが: b[0] = 0; b[1] = 1; b[n_] := (b[n] = b[n - 1] + b[n - 2]) みたいに。
- 576 名前:132人目の素数さん [03/07/29 23:04]
- レスありがとうございます!
早速やってみます
- 577 名前:132人目の素数さん [03/07/29 23:06]
- 出来ました!すごく感謝!
- 578 名前:132人目の素数さん [03/07/30 02:25]
- x+y=1
xy=-1 というとても簡単な連立方程式を解かせたいのですが、 Solve[{x + y == 1, x - y == -1}, {x, y}] とやっても上手くいきません。どうすればよいでしょうか?
- 579 名前:132人目の素数さん [03/07/30 02:26]
- >>578
ミスったw Solve[{x + y == 1, x y == -1}, {x, y}] これでやって出来なかったです。お願いします。
- 580 名前:132人目の素数さん mailto:sage [03/07/30 10:56]
- >>579
できるけど。
- 581 名前:132人目の素数さん [03/07/30 11:47]
- 買ったけど使い方がさっぱりわからない。友達に売ろ。
- 582 名前:132人目の素数さん [03/07/30 11:53]
- ムカついたんでnyに流そっかな・・・
- 583 名前:132人目の素数さん [03/07/30 14:31]
- >>575
b[1244]まではそれで出るんですけど、 b[1245]以降はHoldなんたらとか出て計算できないんですが どうすればもっと大きい数まで表示出来るようになるでしょうか?
- 584 名前:math.1st ◆M9pCfogc9g [03/07/30 14:51]
- Re:>583 再起呼び出しの関数は、ネストできる数に制限があることから、使わない方がよい。
使用メモリを増やして計算すると大きい数も表示できて、速い。
- 585 名前:132人目の素数さん [03/07/30 15:01]
- >>584
ありがとうございます。 もうひとつ質問させてください。 n≦10の時 a[n_]:=a[n-1]+2 n>10の時 a[n_]:=a[n-1]+1 のように、範囲を指定したい時はどうすれば良いでしょうか?
- 586 名前:132人目の素数さん mailto:sage [03/07/30 21:34]
- >>585
そんな問題Cでやった方が速い。2^32進数の作り方もついでに勉強。 まったく典型的「ユーザさん」だね。 あなた甲南大学とやらの学生ですか? そういう丸投げ的利用法は、あとあとためにならないですよ。
|

|