[表示 : 全て 最新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

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進数の作り方もついでに勉強。
まったく典型的「ユーザさん」だね。
あなた甲南大学とやらの学生ですか?
そういう丸投げ的利用法は、あとあとためにならないですよ。

587 名前:585 [03/07/30 23:42]
>>586
いえ、高校生です。

588 名前:132人目の素数さん mailto:sage [03/07/30 23:55]
高校生ならいいってもんでもないな。

589 名前:132人目の素数さん mailto:sage [03/07/31 01:49]
>>583
末尾再帰にすれば良い(演習問題)。
関数型言語では、関数は全て再帰で書く。

末尾再帰に書き換えないのであれば、
$RecursionLimit=3000
などと再帰の上限階数を増やす。

末尾再帰については自分で調べろ。

>>584
くだらんレスをするな。

>>585
例えば:
a[n_] /; n <= 10 := a[n - 1] + 2
a[n_] /; n > 10 := a[n - 1] + 1

>>586
丸なげ反対はわかるが、
> のように、範囲を指定したい時はどうすれば良いでしょうか?
これは言語仕様について聞いているんだろう。

590 名前:132人目の素数さん mailto:sage [03/07/31 23:36]
>>585
その後 FullForm で、出てくる式の構造を暇な時に見ると
将来、ひょっとしたら役に立つ可能性があるかもしれない。

591 名前:585 [03/08/01 02:39]
>>589
ありがとうございます。
末尾再帰ってのは調べてみたんですけどよく分かりませんでした…。
n = 2000; a = 0; b = 1; While[n >= 1,
If[n ≠ 1, a = a + b; n--, Print[b]; Break[]];
If[n ≠ 1, b = a + b; n--, Print[a]; Break[]]]; If[n == 0, Print[0]]
結局上のを書いてみたんですが改良点が有ったらご指摘お願いします。

f[n_]:=a = 0; b = 1; While[n >= 1,
If[n ≠ 1, a = a + b; n--, Print[b]; Break[]];
If[n ≠ 1, b = a + b; n--, Print[a]; Break[]]]; If[n == 0, Print[0]]
あと、上のようにやってf[2000]とかやっても0とか出ちゃうんですけど、
何が間違ってるのでしょうか…。

592 名前:132人目の素数さん mailto:sage [03/08/01 11:58]
高校生でこんなことをやってるのか。
凄いな

593 名前: mailto:sage [03/08/01 12:39]
え〜今までMathematicaなんて使ったことないのに、卒研で使えと言われまして・・・
さっぱりわからないんで教えていただけないでしょうか?

ワイブル分布において
平均Mean[dist] == 1と標準偏差StandardDeviation[dist] ==1/3の連立方程式を
αとβについてSolveで解こうとしたんですが、
『逆関数が使用されています.値は多価逆関数のため失われている可能性があります.』
と出て解けないんですよ。

これってどうすればいいのでしょうか?

594 名前:132人目の素数さん [03/08/01 16:39]
Play[Sin[700 t + 25 t Sin[350 t]], {t, 0, 4}]



595 名前:132人目の素数さん mailto:sage [03/08/01 16:53]
>>593
解けないんじゃなくて、そのメッセージの後に代表値は出てるよな?(w

596 名前:132人目の素数さん mailto:sage [03/08/01 17:07]
Mathematicaとは関係ない話なんだけどwolfram reserchの日本語の
トップページ(www.wolfram.co.jp/)ってさ、リロードするたびに違う
種類の画像とキャッチコピーが表示されるじゃん。キャッチコピーは
「世界の計算方法」とか「数学、科学、工学、教育における革新的言語」
とか色々あるんだけど。あれの中の一つに「技術計算の未来を定義」
ってのがあったのね。それを読んだときに「未来を予測する最良の方法
は、それを発明してしまうことだ」っていうAlan C. Kayの言葉を思い出し
て、「ああそうか、数学で何か発明するってはまさしく何か定義すること
だな」と思って少し感慨を覚えたんだよ。どうでもいい話だけど。

ってか英語の方のトップページ見たらMathematica5って書いてあるじゃん!
6/23に出たのか。全く知らなかった。






[ 続きを読む ] / [ 携帯版 ]

前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