Mathematicaプログラミング 質問箱 その1
1 :
デフォルトの名無しさん :
04/11/18 16:02:26
終了
もってねーYO!
4 :
デフォルトの名無しさん :04/11/18 16:25:35
高杉
海外逝き
単に数式組み合わせるだけだからプログラミングなんていう
ほどのものでは無いよな。まともに数値計算したい香具師なら
Cでゴリゴリやるし、記号計算ならそれこそ何を計算したいのか
どういう式を使えばいいかが分かっているはずだからな。
つまり、
>>1 はそんなもんに頼る前に数学でももっと勉強しろ。
Mathmaticaのスレなら数学板にあるけど
8 :
デフォルトの名無しさん :04/11/18 18:12:58
>>7 ここはMathematicaではなくMathematicaプログラミング
またmathematicaスレですか。。。。 どうせコンピュータで数式処理できることで何かちょっと勘違いしちゃった 卒研生かあほな院生が立てたスレだろうな〜。研究室に一冊くらい凸版の関連本が あるでしょ。その程度のもの見て理解できなければプログラミング以前に学力の 問題ですよ。マニュアルもカナーリ詳しい。mathematicaのプログラミングって 言っても、紙に数式書くのとほとんど同じなのに一体何を質問したいんですか? アルゴリズムとか数値計算ですか?残念ながらそういう用途には向いていませんよ。 確かに使いやすいですがmathematicaじゃトロくて時間がかかりすぎるので 本気でやるならC/C++あたりを使った方がいいですよ。
実は英語の数学用語が分からなくてスレを立てた、に一票
それで
>>1 の質問は何なの?
何を質問したくてスレ作った?
板ちがいだが、分かる範囲で答えてやるぞ。
ただし、最新版は使ってない。それでよければいいよ。
Mathematica使いこなしてるようなのは、この板にいないだろ? 方向性が狭い
つーか、mathematicaは単なる数学ソフトなんだが。
>>13 プログラミングの為の構文が用意されているじゃないか。
グラフを表示したりするのもわりと楽だし、シミュレーションしたりするのにも
いちいちCで書いていたら手間が掛かりすぎる。
15 :
デフォルトの名無しさん :04/11/22 14:51:30
16 :
sumath :04/11/24 22:59:41
mathematica programing nb で検索し、援助交際 叶う筈 ( *.nb Getし) いちいちCで書いていたら人生無駄。 在るもの *.nb は 美味しく イタダク べし
高 杉
18 :
sumath :04/11/24 23:10:42
mathematica programing nb で検索し、援助交際 叶う筈 ( *.nb Getし) いちいちCで書いていたら人生無駄。 在るもの *.nb は 美味しく イタダク べし 追記; 絞りきれないなら 目的を 明確にして下さい 参考 .nb を 紹介します
mathematicaで出来るシュミレーションなんて小規模なもの。 何をシュミレーションしたいんだよ?はっきり言ってみろ。 グラフを表示したりするのはそこいらの表計算ソフトでも出来るぞ。 mathematicaのプログラミングの為の構文なんてたかが知れてる。 mathematicaが単なる数学ソフトであることに気が付いていない 時点でアウト。研究者には向かないな。もうageるな。
mathematicaなんていうのは、一般的な数学計算を対象にしているから シュミレーションのように極度に特化したものを本気でやりたいなら 専用のプログラムをCかなんかで作って行うべし。でないと、 スピードも遅いし、シュミレーションの検証もまともに出来ない。 まあ、結果を整理する時には便利かもしれないが。
>>21 君が考えているシミュレーションってなんか偏ってるよね。
24 :
sumath :04/11/24 23:57:57
何をシュミレーションしたい? 明言して! @@@@@@@@@@@@@@@@@@@@@@ 研究者 様 スグ悪意にトル 癖 ヤメテ
Mathematicaが買えないからうらやましいんだよ、きっと。
繰り返し計算してみるとかなり遅いのはわかるけど、 そういうことはただ向いていないだけなんだよー にゃんにゃん
27 :
sumath :04/11/25 00:27:15
たとえばねー う〜ん… FIRフィルタを音楽全体にかけたりとかすると違うと思うですー にゃんにゃん
>>27 日本語変だよー どうしたの? まさか…?!
30 :
sumath :04/11/25 01:28:06
日本語変だよー どうしたの? まさか…?! math かっ!!!!!!!!!!! でありmath. 正鵠であり math normalなのに 日本語変????? 2ch 初邂逅 初夜 で ありmath. wwwで通用する 言語所望。
31 :
sumath :04/11/25 01:56:30
日付けカワリ;
http://www.wolfram.com/index.ja.html www で 非アブnormal な 言語で
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
記述 在りmath.
眉唾か 懐疑 顛末 録 まで 長時間 を 要し math.
新規購入された方 (研究者 非 コピ ぺ)
は その後
オシエテ 無用で あったか を!
33 :
sumath :04/11/25 02:32:36
埴輪ハオ!
35 :
sumath :04/11/25 10:15:33
>>35 そういうのがあるのは知っているけれど、結局はCでの実装でしょ?
そのループ部分はCでやっているもん。
ループする部分をMathematicaの構文でやらないとダメですー。
37 :
デフォルトの名無しさん :04/11/25 20:54:21
実は微分積分忘れました!
38 :
デフォルトの名無しさん :04/11/25 21:05:32
実は結構な項書き換えに基づく 関数型言語だったりするんだよなーこれ。 でも高すぎ。誰かクローン作ってくれないものかな。
40 :
デフォルトの名無しさん :04/11/25 21:17:46
>>39 おお、日本製でこんなのがあったのですか。
情報ありがとうございます。
こういうのって言語機能自体よりライブラリとか作るほうが
大変なんだろうなあ。
41 :
sumath :04/11/27 01:27:38
Gröbner Bases mathematica nb で検索し 学界の先達 の 知恵を 有難く 拝借(*nb Get) 知恵熱が∂まで (Risa/Asir)
43 :
デフォルトの名無しさん :04/11/30 18:05:59
中級者向けの本を教えてください
45 :
デフォルトの名無しさん :04/12/01 05:54:07
ituneやテレ朝CIでやられとるの音声のヴィジュアライズって何をつかって作っておるのでしょうか? ご存知の方をいらっしゃればお知恵を...;;
47 :
デフォルトの名無しさん :04/12/08 11:41:37
カレントディレクトリを簡単に変える方法はないのですか?
48 :
デフォルトの名無しさん :04/12/08 18:10:35
楕円のシュミレーションなんですけど、楕円の回転のさせ方おしえてください。
49 :
デフォルトの名無しさん :04/12/13 16:00:23
動画を作ってファイルに保存する方法を教えてください
おれはmaximaでことたりるな。無料だし。
>> 1 ついでにMapleのスレも立ててくれ。反応眺めるだけでおもろかったりする。 スレの定着っぷり見るとやっぱMATLABがメジャーなんかね。
52 :
デフォルトの名無しさん :05/01/15 10:08:42
mapleってつかえないよな
53 :
デフォルトの名無しさん :05/01/23 10:19:21
はなはだおこがましいとは思いますが、URL:
http://www.vector.org.uk/v201/cliff201.htm#note4 にある下記のソースは、Cのコードでいうとどういうことになるか
書き換えできないでしょうか。(入門のURLを見ましたが、'|','$','@'
などの表記が分からず、ここへ来ました)
↓行番号(書きこみに当たり追記)
1 NB. c barrel_undistort raw_image
2 barrel_undistort=: 4 : 0
3 wh=.|.hw=.2{.$y.
4 und=.wh sn_to_pix@(x. sn_undist)@(wh pix_to_sn)
5 y.=.(y.,{:a.),"_1 {:a.
6 if. x.<0 do.
7 'dw dh'=.|und 0 0
8 else.
9 'dw dh'=.-<./und -:wh*=i.2
10 end.
54 :
デフォルトの名無しさん :05/01/23 10:20:49
(>53 の続き) 11 z=.((hw+2*dh,dw),3)${:a. 12 dsn=. -{.-/hw pix_to_sn 0 0,:1 1 13 w=.j./"1 hw pix_to_sn (-dh),.(-dw)+i.(2*dw)+{:hw 14 for_k. (-dh)+i.({.hw)+2*dh do. 15 t=.12 o. w 16 r=.|10 o. w 17 r=.x. R_to_RD r 18 in=.;/_1 >. hw <."1 hw sn_to_pix +.r r. t 19 z=.(in{y.)(dh+k)}z 20 w=.w+dsn 21 end. 22 NB. 'one'+1 23 z 24 )
55 :
デフォルトの名無しさん :05/03/05 02:59:48
Mathematicaでc並のスピードは出せますか?
mahtematicaまともに使える奴はここにはおらんか・・・
普通の人は数式処理なんてしませんから。
58 :
デフォルトの名無しさん :05/03/07 23:32:07
>>55 C並とまでは行きませんが、ある程度のスピードは出ます。
59 :
デフォルトの名無しさん :2005/04/08(金) 12:15:08
mathematicaとSのそれぞれの特徴(違い)を教えてください。
60 :
デフォルトの名無しさん :2005/05/05(木) 01:15:45
下記の一見ごく普通の二重フーリエ積分がMathematicaでどうしても実行できま せん。 Integrate[(Cos[omega1 T1]+I Sin[omega1 T1]) (Cos[omega2 T2]+I Sin[omega2 T2]) (2.0 Exp[-0.5 (T1+2 T2)] Cos[2500. T1]+Exp[-0.5 T1-0.5 T2] Cos[2500. (T1-T2)]),{T1,0,Infinity},{T2,0,Infinity},Assumptions->{omega1>0,omega2>0}] Mathematica 5.0のWindows版で実行すると、何のエラーメッセージも無くMathKernel そのものが落ちます。(それまでの計算履歴も全て消失します) Mathematica 5.0のUnix版で実行すると、Segmentation fault (core dumped)という エラーメッセージとともにMathematicaが落ちます。 ちなみに上記プログラムのひとつ目の指数関数の前の「2.0」の数値定数を「2」にす るだけで上記積分は実行できるようになります。 なお、上記積分を実行中のワークステーションのメモリをチェックしていると、計算 が止まる前後でメモリはわずかに上昇するものの、ワークステーションのメモリ限界 値の半分も使用していない状態です。(実際、"No more memory available"などのエ ラーは一切表示されません。) こんな症状は初めてで原因が全く分からず戸惑っており、もしこのような症状に出く わしたことがある方がおられたなら、対処法をご教授いただければ幸いです。 何卒よろしくお願いいたします。
>>60 そういうこと、よくあるよ。俺も簡単なDSolveが落ちるって苦情
出したことあるし。でも、「新しいバージョンでは直っていますので
買ってください」としか返ってこないけど(w
マゾ?
63 :
デフォルトの名無しさん :2005/05/08(日) 06:18:13
Mathematica 5.1では、DendrogramPlot[]が利用できるようになりましたが、 発現解析等で良く利用される2軸(?)のDendrogramを簡単に描くことは可能でしょ うか。 なにかヒントがあればご教示下さい。
64 :
デフォルトの名無しさん :2005/05/08(日) 06:47:14
65 :
デフォルトの名無しさん :2005/05/09(月) 15:09:17
CUIで使ってるときに、1行に表示される文字数を変更する方法はありませんか? 例えば、 In[1]:= N[Pi,100] Out[1]= 3.1415926535897932384626433832795028841971693993751058209749445923078\ > 16406286208998628034825342117068 としたときに、結果を改行せずに表示してほしいのですが。
66 :
デフォルトの名無しさん :2005/05/09(月) 15:14:08
67 :
デフォルトの名無しさん :2005/05/22(日) 17:41:48
hoshu
68 :
デフォルトの名無しさん :2005/06/22(水) 23:00:53
wwwwwwwwっうぇwwwwwwwwwwwwっうぇwwwwwwwwwwっうぇww
69 :
デフォルトの名無しさん :2005/06/26(日) 06:06:10
入門のサイトを教えてください
>>69 正直、付いてくるチュートリアルを1つずつ順番に読んでいくのが
一番勉強になる。
71 :
デフォルトの名無しさん :2005/07/08(金) 00:43:57
age
72 :
みかん :2005/08/16(火) 17:40:48
Mathematicaについての質問なんですけど, Mathematicaで作った***.nbのファイルをコマンドプロンプトから実行させたいんですけど, どのようにコマンドラインを入力すればわからないのでどなたは教えてくれませんか?
どなたは教えてくれません。
ちね
ImageProcessing最高!!
ホシューリ
77 :
デフォルトの名無しさん :2005/10/28(金) 22:10:04
保守すんな
78 :
デフォルトの名無しさん :2005/11/28(月) 23:08:56
79 :
デフォルトの名無しさん :2006/02/02(木) 00:41:31
6.0マダー?
80 :
デフォルトの名無しさん :2006/02/02(木) 06:30:12
ここは僕の待ち望んだスレです
81 :
デフォルトの名無しさん :2006/02/17(金) 22:48:34
ファイルのデータを読み込んで、その全てを足すコマンドってないのでしょうか?
作れ自分で
83 :
デフォルトの名無しさん :2006/02/21(火) 00:54:16
マスエムエルって凄いの?
MATLAB>>Mathematica>Mathcad
ここはMathematicaクローンを作ってフリーソフトにするスレですか?
そりゃ無理でしょ
87 :
gamow :2006/07/22(土) 11:05:14
88 :
デフォルトの名無しさん :2006/07/27(木) 18:35:03
多入力多ルールファジィ推論プログラム が全くわかりません。 どなたか分かりますかね?
89 :
デフォルトの名無しさん :2006/08/06(日) 11:36:55
S = {2, 5, 9, 22, 89, 105, 200}; a = 105; h = 1; t = Length[S]; k = Floor[(h + t)/2]; While[h <= t, If[S[[k]] == a, Break[], If[S[[k]] > a, t = k - 1, h = k + 1]]; k = Floor[(h + t)/2]; ]; If[h > t, k = -1]; Print[a, " ", k]; なにを求めるプログラムなのかわかんない… だれか教えてください。
>>89 配列Sから要素aを探索するプログラムと思われ
試しにaを別な値に書き換えて実行してみ
見つかった場合にはその位置インデクス
見つからない場合には-1が返る
91 :
デフォルトの名無しさん :2006/08/06(日) 22:53:05
92 :
89 :2006/08/07(月) 14:34:33
たびたびすみません どういう構造になってるんですか?
長さlの配列Sが昇順に整列されているとする。 Sの中の要素aを探すには、 まず中央の要素S(m)とaを比べる。a=S(m)ならそこで検索終了。 もしS(m)>aならば、S(n)=a (n≧m) を満たすnは存在しないので、S(n) (0≦n<m) を探せばいいことになるので、 S'(n) = S(n) (n=1,2,3…m-1) とする。S(m)<aの場合も同様にして、 S'(n) = S(m+n) (n=1,2,3…l-m) とする。 S'(n) についても上記のことを繰り返す。
>>92 Cで書き換えるとこんな感じ(インデント全角空白注意)
int main() {
int S[7] = { 2, 5, 9, 22, 89, 105, 200 };
int a = 105;
int h = 0;
int t = 6;
int k = (h + t) / 2;
while (h <= t) {
if(S[k] == a) break;
else if(S[k] > a) t = k - 1;
else h = k + 1;
k = (h + t) / 2;
}
if (h > t) k = -1;
printf("%d %d¥n", a, k);
return 0;
}
>>92 Javaならこうな(インデント全角空白注意)
public class Sample {
public static void main(String[] args) {
int[] S = new int[] {2, 5, 9, 22, 89, 105, 200};
int a = 105;
int h = 0;
int t = S.length - 1;
int k = (h + t) / 2;
while (h <= t) {
if (S[k] == a) break;
else if(S[k] > a) t = k - 1;
else h = k + 1;
k = (h + t) / 2;
}
if (h > t) k = -1;
System.out.println(a + " " + k);
}
}
(^_^;)
97 :
89 :2006/08/07(月) 21:35:36
ありがとうございます
ちゅうかMathematicaなんだから、用意されてる関数を使おうよ。 Positionで一発。
100 :
デフォルトの名無しさん :2006/08/29(火) 14:59:37
エキスポートなどで作られるファイルを 自分の指定するフォルダにすることってできますか?
Export["c:/hogehoge/... か、SetDirectory
データをTSV形式でExportすると、 599.8が599.7999999999999のようになってしまいます。 このようにならないようにすることはできないのでしょうか。
>>102 コンピュータってのは2進数で動いているので、
そういう風にできているんです。
ListPlotやPlotで図を表示させないようにしたいんですけど、どうすればいいでしょうか?
>>104 DisplayFunction -> Identity
106 :
104 :2006/09/26(火) 07:47:04
107 :
デフォルトの名無しさん :2006/10/01(日) 18:36:10
数式を特定の変数で整理するのはどうしたら良いのでしょうか? よろしくお願いいたします
109 :
107 :2006/10/04(水) 08:48:57
110 :
coulomb :2006/10/07(土) 14:04:29
初めまして、
下記について、ご教示頂きましたら幸いです。
http://www.geocities.jp/dirac_equation/bohr.pdf (注意;そのままクリックしても表示しませんので、お手数ですがコピーして貼り付けてください。)
の式(6A-1)を式(6A-21)に代入して計算したのですが、答えが一致しません。どこが悪いのでしょうか?
Clear[q];
Clear[f];
Clear[k];
Clear[Rp];
(*式(6A-1)*)
Rp[l_,m_]:=R0*(Sum[a[l,m]*(-1)^m*SphericalHarmonicY[l,-m,q,f],{l,0,l},{m,0,m}]);
l=0;
m=0;
(*式(6A-22)*)
f0=3/(4*Pi)*Z*e/y;
f0=1/r;
dr=3/(4*Pi)*Z*e/R0^2*(4*Pi)^(1/2)*a0*Integrate[(DiracDelta[r-R0]+1/2*R0*D[DiracDelta[r-R0],r])*f0*r^2,{r,R0,0}]//FullSimplify
111 :
coulomb :2006/10/07(土) 19:37:26
112 :
coulomb :2006/10/08(日) 03:34:37
113 :
デフォルトの名無しさん :2006/10/09(月) 08:06:30
>>112 原子核の液滴模型か
俺は一応、大学で量子力学を専攻したんだけど、
金額次第では作っても良いけど?
114 :
coulomb :2006/10/09(月) 20:47:18
>>113 >俺は一応、大学で量子力学を専攻したんだけど、
>金額次第では作っても良いけど?
プログラムは、だんだん出来そうな感じになってきました。
すいません。もうしばらくして、やはり無理な場合は、考えます。
質問失礼します。 1から10までの数字を重複せずランダムで10個取り出すプログラムは どう書けばよろしいでしょうか? [3.2.7.5.6.4.10.9.1.8] ↑のように取れればいいんですが、必ず数字が重複してしまって・・・ よろしくお願いします。
>>115 超初心者ですが一応目的は達成できていると思います
Clear[a, b, c]; b = {};
For[i = 1, Length[b] < 10, i++, a[i] = Random[Integer, {1, 10}];
c = Position[b, a[i]];
If[c == {}, AppendTo[b, a[i]]];
]
bが1〜10のランダムなリストになってるはずです
117 :
116 :2006/10/16(月) 17:45:40
>>115 連続ですみません
ヘルプブラウザのRandomの説明の他の例の一番下にスマートなやり方が乗ってましたよ
>>116 と同様の手法ですが,関数型言語っぽく,関数の再帰的定義を用いて
重複のない乱数列生成関数を作ってみました。
Clear[RandomList]
RandomList[start_Integer, end_Integer, list_:{}] :=
If[Length[list] > end - start, list,
RandomList[start, end,
(If[MemberQ[#1, #2], #1, Append[#1, #2]] &)
[list, Random[Integer, {start, end}]]
]]
RandomList[1, 10] (* 1〜10 の乱数順列生成 *)
RandomList[1, 10, {2, 5}] (* 初項が {2, 5} で始まる 1〜10 の乱数順列生成 *)
任意の位で切り上げる関数が見つかりません 私が見つけられないだけで、きちんと用意されているのでしょうか? おしえてください
>>119 やりたいのはこういうこと?
ceiling[num_Real, order_Integer] := 10^order Ceiling[num 10^(-order)]
N[ceiling[Pi, -3]] (* π の値を 10^(-3) オーダーの桁を切り上げて表示 *)
121 :
119 :2006/10/17(火) 15:58:59
>>120 まさしくその通りです
参考にさせていただきます
ありがとうございました
122 :
デフォルトの名無しさん :2006/12/11(月) 16:15:01
FindRootで表示桁数を上げる方法を教えてください
>>122 WorkingPrecision→100
>大学で量子力学を専攻したんだけど、 え?
compute algebraについて参考になる日本語の本ってありますか?
126 :
デフォルトの名無しさん :2006/12/13(水) 23:18:07
Pari/GPという計算ソフトを用いて作られたプログラムをMathematicaに変換できる人いませんでしょうか? 先日尋ねられたのですが、わたしはどちらも詳しくないので教えて頂きたいと思います。 元のプログラムは、、、 { n=6; g=matrix(n,n); gs=matrix(n,n); m=matrix(n,n); u=matrix(n,n); h=matrix(n,n); c=0; "====================step1===================="; g[1,]=[1,0,0,0,0,-21]; g[2,]=[0,1,0,0,0,-5]; g[3,]=[0,0,1,0,0,-10]; g[4,]=[0,0,0,1,0,-20]; g[5,]=[0,0,0,0,1,-24]; g[6,]=[0,0,0,0,0,49]; print("--------------------step1--------------------"); print("G="); for(s=1,n,print(g[s,])); print(""); print("M="); for(s=1,n,print(m[s,])); print(""); print("GS"); for(i=1,n,print(gs[i,])); print("M*GS="); mgs=m*gs; for(s=1,n,print(msg[s,])); print("");print("");
127 :
126 :2006/12/13(水) 23:19:06
"====================step2===================="; gs[1,]=g[1,]; u[1,1]=1; for(i=2,n,gs[i,]=g[i,]; for(j=1,i-1,uu=g[i,]*gs[j,]~;us=gs[j,]*gs[j,]~;u[i,j]=uu/us; gs[i,]=gs[i,]-u[i,j]*gs[j,] ); u[i,i]=1; ); m=u; print("--------------------step2"--------------------"); print("G="); for(s=1,n,print(g[s,])); print(""); print("M="); for(s=1,n,print(m[s,])); print(""); print("GS="); for(i=1,n,print(gs[i,])); print("M*GS="); mgs*m*gs; for(s=1,n,print(mgs[s,])); print(""); i=2; print("i=",2); print(""); print(""); u=m;
128 :
126 :2006/12/13(水) 23:21:12
"====================step3===================="; while(i<=n, j=i-1; while(j>0, g[i,]=g[i,]-round(u[i,j])*g[j,]); m[i,]=m[i,]-round(u[i,j])*m[j,]); u[i,]=m[i,]; j=j-1; print("--------------------step3"--------------------"); print("G="); for(s=1,n,print(g[s,])); print(""); print("M="); for(s=1,n,print(m[s,])); print(""); print("GS="); for(i=1,n,print(gs[i,])); print(""); print("M*GS="); mgs=m*gs; for(s=1,n,print(mgs[s,])); print("");print(""); );
129 :
126 :2006/12/13(水) 23:23:01
if((i>1&&(gs[i-1,]*gs[i-1,]~>2*gs[i,]*gs[i,]~), h[i,]=g[i,];g[i,]=g[i-1,];g[i-1,]=h[i,]; mi=i-1; for(ii=mi,n, gs[ii,]=g[ii,]; for(j=1,ii-1, uu=g[ii,]*gs[j,]~;us=gs[j,]*gs[j,]~;u[ii,j]=uu/us; gs[ii,]=gs[ii,]-u[ii,j]*gs[j,] ); u[ii,ii]=1; ); i=i-1, i=i+1 ); m=u; print("--------------------step3(b)--------------------"); print("G="); for(s=1,n,print(g[s,])); print(""); print("M="); for(s=1,n,print(m[s,])); print(""); print("GS=");
130 :
126 :2006/12/13(水) 23:23:34
for(i=1,n,print(gs[i,])); print(""); print("M*GS="); mgs=m*gs; for(s=1,n,print(mgs[s,])); print(""); print("i=",i); print("");print(""); ); print("====================Finish===================="); print("G="); for(s=1,n,print(g[s,])); print("=============================================="); } ちょっと長いですがこういうプログラムです。 どうかお願い致します!
131 :
デフォルトの名無しさん :2006/12/17(日) 14:07:44
半径0.5の円で以下の図を書くプログラムは? ○●○●○●○●○ ●○●○●○●○● ○●○●○●○●○ ●○●○●○●○● ○●○●○●○●○ ●○●○●○●○● ○●○●○●○●○ ●○●○●○●○● ○●○●○●○●○ 半径1の円の軌道上に等間隔で0.1の円を40個起き、置かれた円が ・・・○○○●○○○●○○○●・・・になる図は? 上は Black = Disk[{i,j},0.5]; White = Circle[{i,j},0.5]; で||か&&を使う?? 下は完全に謎です どなたかよろしくお願いします
ヒント: sin(a) cos(a)
133 :
デフォルトの名無しさん :2006/12/17(日) 17:18:51
さ、サインコサインですか・・・ もう忘れちゃってるやorz ちょっとこれから学校に行って再チャレンジしてきます ダメそうだったらまた質問にきます
>>131 処理系ないけど過去レスから文法を判断するとこんな感じか?
Circle[{x, y}, 1];
a = Pi / 20;
For [i = 1, i <= 40, i++,
t = a * i;
x = Cos[t];
y = Sin[t];
If ((i % 4) == 0) Disk[{x, y}, 0.1];
Else Circle[{x, y}, 0.1]
];
135 :
デフォルトの名無しさん :2006/12/17(日) 22:04:51
mathematicaメーリングリストに入会したいので、HPに記載の通りやったのですが、下記メールが1ヶ月前に来てから何の返事も無く、入会できません。どうしたら、入会できるのでしょうか?また、クレーム等はどこに連絡すればよいのでしょうか? Good. Your subscribe request is confirmed and forwarded to the maintainer. He/She will subscribe you, so PLEASE WAIT A LITTLE. あなたからのメーリングリスト登録意志を確認しました。 登録依頼はメーリングリストの管理者へフォワードされました。 少し待ってみて下さい。
136 :
デフォルトの名無しさん :2006/12/17(日) 23:58:20
131です ヒントを元に>131の二個ある内の下のプログラムは組むことができました 色々試したけど上のプログラムは結局できませんでした どなたか上のプログラムを教えてください、よろしくお願いします
ヒント:2重ループ てか上の奴の方は簡単すぎだろ
138 :
デフォルトの名無しさん :2007/01/14(日) 18:52:56
今数種類の微分方程式の解の最大値を求めるプログラムを組んでいます For[i = -5, i < 6, i = i + 1, NDSolve[{y''[x] + y'[x] + y[x] == 1 - Cos[( 2 Pi i )x], y[0] == 0, y'[0] == 0}, y, {x, 0, 1}, MaxSteps -> 10^10] data[[i]] = Max[Table[y[x], {x, 0, 1, 1/10^6}]] ] これでdataに最大値の近似値が格納されると思ったのですが… どなたか解決法をご教授下さい
139 :
デフォルトの名無しさん :2007/02/16(金) 12:47:51
2次元プロットの質問です。 たとえば f=a1*Sin[x]+a2*Cos[x] の式で、a1がa2より大きい場合とa2がa1より大きい場合を調べたい時、 どうプロットすれば良いのですか? a1,a2に適当な数値を当てはめるしかないですか?
なんかmathematicaがようやくversion 6になったんだって? プッ、おくれてんなー matlabが6になったの何年前だと思ってんだよ、おめでてーな(ワラ
141 :
デフォルトの名無しさん :2007/05/29(火) 20:30:52
おめでたいな
デフォルトの文字サイズ設定するのってどうやる?
144 :
abbott :2007/06/17(日) 21:37:38
mathematicaでアボットの負荷曲線を描きたいのですが、どうしても描けません! 誰か教えてください。
mathimaticaで出力されるグラフの軸の目盛りを外向きにする方法を、 ご存知の方が居られましたらご教授いただけないでしょうか。 何卒よろしくお願いします。
146 :
デフォルトの名無しさん :2007/06/22(金) 05:28:00
>>145 オプションでTicksを一つ一つ設定するしかないかも。
Ticks ->
{
{{1, 1, {0, .02}}}, Automatic
}
みたいな感じで。
もっと簡単な方法があるのだろうか?
TicksあるいはFrameTicksに関数を指定できるよ。
148 :
H.M :2007/06/24(日) 09:19:42
Mathematica式の挿入について こんにちは、 下記のように、yを微分して得られる解をまたyに代入したいのですが y = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3; y /. a -> Solve[D[y, a] == 0, a][[2]] と計算してもうまく計算できません。 どうしたら良いでしょうか? 要するに、下記にように Simplify[y /. a -> -((7*(-1 + x))/(1 + 2*x))] 計算して -((98*(-1 + x)^3)/(15*(1 + 2*x)^2)) を得たいのです。
>>148 y /. Solve[D[y, a] == 0, a][[2]]
150 :
145 :2007/06/24(日) 19:13:19
>>146 ,147
お答えありがとうございます。
やって見ます。
151 :
AQUARIUS :2007/06/27(水) 22:45:16
こんにちは、 下記は、mathematicaで亜鈴の図を、平面図と立体図で書いたものです。 平面図のように、立体図を横にする方法を教えてください。 << "Graphics`ParametricPlot3D`" ParametricPlot[{{r1 = 1 + 1*LegendreP[2, Cos[q]]; r1*Cos[q], r1*Sin[q]}}, {q, 0, 2*Pi}, AspectRatio -> Automatic]; r2[n_, thet_] := LegendreP[2, Cos[thet]] Do[SphericalPlot3D[1 + r2[2, thet], {thet, 0, Pi, Pi/30}, {phi, 0, 2*Pi, Pi/15}]]
152 :
AQUARIUS :2007/06/27(水) 23:58:14
Mathematicaで強制振動を扱っているHP こんにちは、 Mathematicaで強制振動を扱っているHPを探しています。一定の力を加えたら、どんどん振幅が大きくなるっていくような図はないでしょうか?
>>151 <<"Graphics`ParametricPlot3D`"
SphericalPlot3D[1 + LegendreP[2,Cos[thet]],
{thet, 0, Pi, Pi/30},{phi, 0, 2*Pi, Pi/15},
ViewPoint->{-3.382, 0.096, 0.076},
ViewVertical->{0,1,0}, ImageSize->300]
154 :
AQUARIUS :2007/06/28(木) 21:04:22
>>153 お返事ありがとうございます。
ずーと、出来なくて困っていました。
助かりました、今後ともよろしくお願い致します。
155 :
H.M :2007/06/28(木) 21:42:43
>>149 お返事ありがとうございます。
わかりました。
10年前にこのスレ欲しかったぜ
157 :
AQUARIUS :2007/06/28(木) 23:23:48
Mathematica何が悪いのでしょうか?
こんにちは、
下記は、HPをそのまま写したのですが、評価するとエラーになります。
どこが間違っているのでしょうか?
http://www.rs.kagu.tus.ac.jp/~phlabex/LabExercise/LCR/frame/lcr2.htm L := 2.65/10^3;
r := 73.32;
c := 12.55/10^9;
e1 := 5;
i1 = y[x] /. NDSolve[{Derivative[2][y][x] == (-(r/L))*Derivative[1][y][x] - (1/(L*c))*y[x] + e1/L, y[0] == 0.0001, Derivative[1][y][0] == 0}, y, {x, 0, 0.0001}]
Plot[i, {x, 0, 0.0001}]
q1 = D[i, x]
q2 = plot[g1, {x, 0, 0.0001}]
追伸
このグラフは、xが増加するに連れて、減少してますが、増加させるにはどこを変更すれば良いでしょうか?
>>157 i1 じゃなくて i
g1 じゃなくて q1
>このグラフは、xが増加するに連れて、減少してますが、増加させるにはどこを変更すれば良いでしょうか?
Plot[-i, {x, 0, 0.0001}]
とでもすれば?
159 :
AQUARIUS :2007/06/30(土) 14:52:37
>>158 お返事ありがとうございます。
>i1 じゃなくて i
>g1 じゃなくて q1
了解いたしました。
>Plot[-i, {x, 0, 0.0001}]
>とでもすれば?
振幅の符号が逆転しましたが、やはり減少しております。
160 :
AQUARIUS :2007/06/30(土) 21:23:29
こんにちは、 下記プログラムで、円から亜鈴に変形する図を作成したのですが、このプログラムを書き換えて、アニメのように、ある場所で固定させて、時間の経過とともに、円から亜鈴、亜鈴から円、円から亜鈴、亜鈴から円に、繰り返し変形するようにすることは可能でしょうか? For[t = 0, t <= 5, t++, r0 = 1; a1 = 0.2*t; ParametricPlot[{{r1 = r0 + a1*LegendreP[2, Cos[q]]; r1*Cos[q], r1*Sin[q]}}, {q, 0, 2*Pi}, AspectRatio -> Automatic]; ];
>このグラフは、xが増加するに連れて、減少してますが、増加させるにはどこを変更すれば良いでしょうか? 何のグラフを描きたいのかがわかりません
162 :
AQUARIUS :2007/06/30(土) 21:50:38
お返事ありがとうございます。 >何のグラフを描きたいのかがわかりません 説明不足ですいません。下記を評価しますと、xが増加するにつれて、振幅が減少しますが、xが増加するにつれて、振幅が増加するグラフを描きたいです。要するに、左から右に行くにつれて、揺れが大きくなるようにしたいです。 L := 2.65/10^3; r := 73.32; c := 12.55/10^9; e1 := 5; i = y[x] /. NDSolve[{Derivative[2][y][x] == (-(r/L))*Derivative[1][y][x] - (1/(L*c))*y[x] + e1/L, y[0] == 0.0001, Derivative[1][y][0] == 0}, y, {x, 0, 0.0001}] Plot[i, {x, 0, 0.0001}] q1 = D[i, x] q2 = Plot[q1, {x, 0, 0.0001}] Plot[-i, {x, 0, 0.0001}]
それはわかるんだけど、だったら単に x*sin[x] でもいいのかね?
164 :
AQUARIUS :2007/06/30(土) 23:48:09
お返事ありがとうございます。 下記のように、((r/L))*Derivative[1][y][x]の符号を、マイナスからプラスにしましたら、振幅が増加するようになりました。これが、減衰振動の反対の現象だと考えてよろしいでしょうか? L := 2.65/10^3; r := 73.32; c := 12.55/10^9; e1 := 5; i = y[x] /. NDSolve[{Derivative[2][y][x] == ((r/L))*Derivative[1][y][x] - (1/(L*c))*y[x] + e1/L, y[0] == 0.0001, Derivative[1][y][0] == 0}, y, {x, 0, 0.0001}] Plot[i, {x, 0, 0.0001}] q1 = D[i, x] q2 = Plot[q1, {x, 0, 0.0001}]
>>160 Animate Selected Graphics (MacだとCommand-Y)?
166 :
デフォルトの名無しさん :2007/07/03(火) 22:30:48
方程式の答えを図に反映させたいのですが、上手くいきません。 x = 0.7; a2 =. ; y = a2 + (7*(-1 + x))/(1 + 2*x); Solve[y == 0, a2] 答えは a2= となります。 これを、ParametricPlot[{{r1 = 1 + a2*LegendreP[2, Cos[q]]; r1*Cos[q], r1*Sin[q]}}, {q, 0, 2*Pi}, AspectRatio -> Automatic];のa2に代入して、図を書きたいのですが、どうしたら書けるでしょうか? x = 0.7; a2 =. ; y = a2 + (7*(-1 + x))/(1 + 2*x); Solve[y == 0, a2] ParametricPlot[{{r1 = 1 + a2*LegendreP[2, Cos[q]]; r1*Cos[q], r1*Sin[q]}}, {q, 0, 2*Pi}, AspectRatio -> Automatic];
>>166 x = 0.7;
a2 =.;
y = a2 + (7*(-1 + x))/(1 + 2*x);
rule1 = Solve[y == 0, a2][[1]];
ParametricPlot[{{r1 = 1 + a2*LegendreP[2, Cos[q]] /. rule1; r1*Cos[q],
r1*Sin[q]}}, {q, 0, 2*Pi}, AspectRatio -> Automatic];
168 :
デフォルトの名無しさん :2007/07/04(水) 23:00:37
>>167 お返事ありがとうございます。
わかりました。
申し訳ございません。更に、下記でa2の数値を表示させるには、どうしたら良いでしょうか?
x = 0.5;
a2 =.;
y = a2 + (7*(-1 + x))/(1 + 2*x);
rule1 = Solve[y == 0, a2][[1]];
Print["x=",x];
Print["a2=",a2];
>>168 x = 0.5;
a2 =.;
y = a2 + (7*(-1 + x))/(1 + 2*x);
rule1 = Solve[y == 0, a2][[1]];
Print["x=", x];
Print["a2=", a2 /. rule1];
170 :
デフォルトの名無しさん :2007/07/06(金) 21:55:22
>>169 いつも、お返事ありがとうございます。
>Print["a2=", a2 /. rule1];
わかりました。
すいませんが、更に下記を教えて下さい。
次のHPは、核分裂の臨界エネルギーを求めたものです。
http://space.geocities.jp/gamow_gold/nuc.pdf (上記をコピーして、アドレスに貼り付けて、エンターしてください)
質問
P6のFig.4.5の図を得るため、 (30) 式の下の a2=7(1-x)/(1+2x) という式から a2 を求め、後はこの値を(17)式に代入し、mathematicaで作図したのが下記です。しかし、評価してみますと、Fig.4.5の図と形が異なります。
(17)式を、(1 + a2*LegendreP[2, Cos[q]])としたのが、多分、間違っていると思われますが、(17)式をどのように修正すれば、P6のFig.4.5の図が得られるでしょうか?
For[n=0,n<=10,n++,
x = 0.1*n;
a2 =.;
y = a2 + (7*(-1 + x))/(1 + 2*x);
rule1 = Solve[y == 0, a2][[1]];
Print["x=",x];
Print[rule1];
ParametricPlot[{{r1 = (1 + a2*LegendreP[2, Cos[q]]) /. rule1; r1*Cos[q],
r1*Sin[q]}}, {q, 0, 2*Pi}, AspectRatio -> Automatic];
];
171 :
デフォルトの名無しさん :2007/07/23(月) 17:06:49
こんにちは、 Mathematicaで作成した図を、LaTeXに貼り付ける方法および手順を教えてください。例えば、下記で作成した図について教えてください。 {r0,r1,n,qs}={1,0.1,8,Pi/32}; ParametricPlot[{{Cos[q],Sin[q]},{r=r0+r1 Sin[n q];r Cos[q-qs],r Sin[q-qs]}},{q,0,2Pi},AspectRatio®1];
172 :
デフォルトの名無しさん :2007/07/23(月) 18:22:04
抵抗とコンデンサからなる並列回路の複素インピーダンスとその絶対値を求めるプログラムを作成せよ。 プログラムは、抵抗の値、コンデンサの容量、周波数を入力すると、複素インピーダンスとその絶対値を求めその結果を表示するものである。 このプログラミングはどのようになりますか?おねがいします
おまえら2ちゃん見てる暇があるならせめてググれ もしくはチュートリアルくらい読め
174 :
デフォルトの名無しさん :2007/07/23(月) 22:27:48
>>173 171了解。ところで、「ググれ」の意味は何でしょうか?
175 :
デフォルトの名無しさん :2007/07/23(月) 22:41:00
こんにちは、 以前このサイトでご教示頂きました下記の図形なのですが、横軸の数字が重なって気になるので、いろいろとViewPoint®{-3.382,0.096,0.076}の値を変えているのですが、一番綺麗に作図するには、どの値にすれば良いでしょうか?個人の好みもあると思うのですが、、 <<"Graphics`ParametricPlot3D`" SphericalPlot3D[1+LegendreP[2,Cos[thet]],{thet,0,Pi,Pi/30},{phi,0,2*Pi,Pi/15},ViewPoint®{-3.382,0.096,0.076},ViewVertical®{0,1,0},ImageSize®300] SphericalPlot3D[1+LegendreP[2,Cos[thet]],{thet,0,Pi,Pi/30},{phi,0,2*Pi,Pi/15},ViewPoint®{-1.8,0.5,0.1},ViewVertical®{0,1,0},ImageSize®300] SphericalPlot3D[1+LegendreP[2,Cos[thet]],{thet,0,Pi,Pi/30},{phi,0,2*Pi,Pi/15},ViewPoint®{-0.8,0.5,0.1},ViewVertical®{0,1,0},ImageSize®300] SphericalPlot3D[1+LegendreP[2,Cos[thet]],{thet,0,Pi,Pi/30},{phi,0,2*Pi,Pi/15},ViewPoint®{-1.0,0.5,0.1},ViewVertical®{0,1,0},ImageSize®300]
176 :
デフォルトの名無しさん :2007/07/23(月) 22:47:09
>>175 すいません。文字化けしております。
元々のソースは「153」です。ViewPointの値だけを変えております。
177 :
デフォルトの名無しさん :2007/07/24(火) 08:28:19
>>174 「ググれ」の意味わかりました。以後「ググり」ます。
178 :
デフォルトの名無しさん :2007/07/24(火) 20:43:49
>>175 事情により追求を残念しましたので回答は結構です。すみません、お騒がせ致しました。
このスレの書き込む人って頭よさそうな書き込みするね
180 :
みさころ :2007/07/29(日) 13:45:19
すみません!質問なんですが、 @2変数関数z=(2x^2+y^2)exp(1-X^2-Y^2)のグラフを、-2≦X≦2,-2≦Y≦2の範囲でPlot3Dを使って描きなさい。 A上記関数において∂z/∂x=0,∂z/∂y=0を連立して解いて全ての臨海点を求めなさい。 このとき、∂z/∂x=0,∂z/∂y=0は、どちらもFactorを用いてexp(1-X^2-Y^2)を括りだした後に exp(1-X^2-Y^2)で割っておき、多項式の方程式にしてからSolveを使うのがよい。 B各臨界点におけるzの値を求め、またH=、(∂^2)z/(∂^2)x・(∂^2)z/(∂^2)y 及び、(∂^2)z/(∂^2)x の符号を調べて臨界点を分類しなさい。 この3つの問題が全然わからなく困っています。どなたか教えていただけるとありがたいです(><)
本当に全然分からないなら君にはできないのであきらめる。 そうじゃないならどこまで考えてどこまで分かってるのか書く。
182 :
まえ :2007/08/01(水) 17:20:40
質問なのですが、グラフの数字のフォントを大きくしたいのですが、 どうすればよいのでしょうか? わかる方がいましたらどうが教えてください。 (ちなみに現在は一度Illustratorで編集を行い数字のサイズの調節を行っています)
>>181 5ならPlotのヘルプに書いてあるような気がするが。
Mathematica Plot font sizeでググったらいくらでも出てくるし。
何をやるにしてもこれくらいのことは自分で調べる能力をまず身に付けろ。
俺はリンクを間違えない能力をまず身に付けるわ。。
上のは
>>182 の間違い。
187 :
まえ :2007/08/02(木) 11:27:40
>>183 回答ありがとうございます。
しかし、MathematicaではなくMATLABの説明のページでした。
>>185 申し訳ありません。おもに書籍を用いてMathematicaの勉強をしていたためヘルプの使い方が未熟でした。
もし、よろしければ
Plot[sin[x],{x,0,2}]
のグラフの数字のフォントを大きくした例を示していただけると非常に助かります。
ヘルプに書いてあるって言ってるのになんで見ないの?
189 :
まえ :2007/08/02(木) 14:24:21
>>188 ヘルプを見たところ「FontSize」を使えばなんとかなりそうなのですが、
Plot[sin[x],{x,0,2},FontSize->20]
と書いても、
StyleFont[Plot[sin[x],{x,0,2}],FontSize->20]
と書いてもうまくいかず、どのように記述すればよいのかわからないからです。
私のヘルプ活用能力、Mathematicaのスキルが劣っているためだと認識しております。
どうがお力を貸してください。
うちのヘルプにはそんな風には書いてないんだけど。 ヘルプに書いてある通りに本当にやってんのか? で上でググれとも書いたんだけどググったのか?
191 :
まえ :2007/08/02(木) 17:08:51
>>190 ご迷惑をおかけしました。解決しました。
ヘルプについてですが使用しているMathematicaのバージョンが4.0のため若干異なっているのかもしれません。(検索ワードに問題があったのかもしれませんが・・・)
「ググれ」についてですが、私は「日本語のページを検索」にチェックを入れて検索を行う癖がありまして、それが原因でうまくいっていませんでした。
親切な返答に対しいい加減な調べ方しかしていなかった自分を恥ずかしいく思います。
本当にありがとうございました。助かりました。
旧バージョン使ってるなんて重要なことは最初に書く。 エラーが出たならエラーメッセージの内容を書く。 解決したなら何が問題だったのか、どうやって解決したのかを書く。 もういないんだろうけど。
193 :
まえ :2007/08/03(金) 02:59:03
そんなことで気分を害したりはしないけども。 掲示板を使用する上で、とかは全然関係ないと思うよ。 問題を解決する基本的なスキルの話だよ。何をするときでも一緒。
195 :
デフォルトの名無しさん :2007/08/12(日) 11:36:18
こんにちは、 青色の字で、アルファベット「abc」と印字したいのですが、 どのようなコマンドを使用すれば良いでしょうか? Print[“abc”];
196 :
デフォルトの名無しさん :2007/08/22(水) 04:17:48
一番直感的な方法は Print["abc"] と入力した後、abc の部分を選択して、メニューの書式から文字の色を選んで青を選択する。 これじゃかっこ悪いと思うなら Print[StyleForm["abc",FontColor->RGBColor[0,0,1]]] でやったらいかが.
Mathematica 6.0使っている人に聞きたいんですけど、 5.2のヘルプのようなMathematica Bookがないって本当ですか?
198 :
デフォルトの名無しさん :2007/09/19(水) 04:12:35
Mathematica 6.0をLinuxで使ってます。 デフォルトのフォントサイズが小さいので、毎回大きく設定しなおして 使ってます。デフォルトのフォントサイズを変更する方法って ないですか?
199 :
デフォルトの名無しさん :2007/09/19(水) 06:33:42
とりあえず、Formatから、Screen Environmentを選択して、 そのあと、Presentationを選択することにしました。
>>197 6.0のヘルプは確かに見づらい。検索は向上してるけど、
5.2にあるMathematica Bookのように一から読んでいけるようなものはない。
初めて使う人には使いづらいかも。
ヘルプに頭から読んでいくような内容なんて不要。 そういうもの「も」ついててもいいとは思うが。 基本は強力な検索とハイパーテキストと豊富な実例がヘルプの命。
6のヘルプの嫌なところは、built-in FunctionがAlphabetical Listingでしかlisting出来ないところだな あと最初のページが見づらい
203 :
デフォルトの名無しさん :2007/09/24(月) 18:34:01
簡単な式変形で質問です。 z = y Sqrt[m] Sqrt[x^2+y^2] とやると z = y Sqrt[m] Sqrt[x^2+y^2] になると思いますが 出てきた結果を根号で再度まとめることはできるんでしょうか? 具体的には z = Sqrt[m (x^2 + y^2) y^2] と変形して欲しいのです。 どうもやり方が分からず困ってます。 どなたか御存じでしたら教えて下さい。お願いします。
mixiと2chへのマルチポストって初めて見たw
>>203 どういう場面でそういう操作が必要になるの?
206 :
デフォルトの名無しさん :2007/09/27(木) 18:03:45
>>205 レス遅れてすみません。えーと、問題になってるのは、 複雑な式でSimplifyできないので困ってます。
Log[Sqrt[A] Sqrt[B]]
(A、Bは非常に複雑な式)
のような場合に上手くSimplifyしてくれないので困ってたんですが、これは
SqrtSimplify[sqrt_] := (sqrt//. Sqrt[x_] Sqrt[y_] -> Sqrt[x y])//Simplify
のような形でSimplifyをかけると簡略化に成功しました。
ですが、今度は、
(-2 m + r0) r[t]
Out[1]= (Sqrt[----------------]
m (r0 - r[t])
Sqrt[r[t]]
> ((Sqrt[-2 m + r0] (4 m + r0) ArcTan[---------------] -
Sqrt[r0 - r[t]]
3/2 Sqrt[-2 m + r0] Sqrt[r[t]]
> 4 Sqrt[2] m ArcTanh[-------------------------------])
Sqrt[2] Sqrt[m] Sqrt[r0 - r[t]]
> Sqrt[r0 - r[t]] + Sqrt[-2 m + r0] Sqrt[r[t]] (-r0 + r[t]))) /
> (Sqrt[2] Sqrt[-2 m + r0] Sqrt[r[t]])
のような複雑な式でどうにもFullSimplifyがききません。本当は分母がSqrt[2m - r0]とSqrt[2] m で簡略化されるはずなんですが・・・
ここで上手く分母を上記でまとめないと、r[t] -> r0 などと仮定して計算を行うので1/0の形でエラーで止まります。
どうも良く分かりません。。
207 :
デフォルトの名無しさん :2007/09/27(木) 18:06:53
↑式が見にくかったので再度書きます。 (-2 m + r0) r[t] Out[1]= (Sqrt[----------------] m (r0 - r[t]) Sqrt[r[t]] > ((Sqrt[-2 m + r0] (4 m + r0) ArcTan[---------------] - Sqrt[r0 - r[t]] 3/2 Sqrt[-2 m + r0] Sqrt[r[t]] > 4 Sqrt[2] m ArcTanh[-------------------------------]) Sqrt[2] Sqrt[m] Sqrt[r0 - r[t]] > Sqrt[r0 - r[t]] + Sqrt[-2 m + r0] Sqrt[r[t]] (-r0 + r[t]))) / > (Sqrt[2] Sqrt[-2 m + r0] Sqrt[r[t]])
208 :
デフォルトの名無しさん :2007/09/28(金) 09:15:13
googleで検索できないので質問させてください。 数式 /. {条件} のときの/.ってどういういみですか?
頭使え。グーグルなら Mathematica slash period で検索。 Mathematica持ってるなら?/.でヘルプが出る。
>>203 、207
203の式はy>0じゃないと成り立たないよね
変数に条件与えてRefineでなんとかならんかね
少しは手で式を変形しとかんと上手くいかんだろうけど
211 :
繰り返し計算について :2007/09/29(土) 12:55:54
こんにちは、 下記のような数値計算で、yが0に最も近づく nを求めたいのですが、どのようなプログラム になるのでしょうか? 但し、yは、0以上であり、 yが0に最も近づいたときの、nとyのみを 知りたいです。 下記は、あくまでも例であり N[4000/95] により、 n=43 y=4085 なので、この例の数値を知りたい訳ではなく、 プログラムの仕方を知りたいです。 For[n=1,n£100,n++, y=4000-95*n; If[y==0,Print[n]]; ];
>>211 どれくらいの精度でnを求めたいかによって変わるんじゃない。
与えられた情報だけでは答えるのが難しい。
213 :
繰り返し計算について :2007/10/01(月) 22:16:10
お返事ありがとうございます。 質問の仕方が悪かったです。 一応下記で出来ました。 すいませんでした。 For[n=1,n<100,n++, y=4000-95*n; If[y<0,Print[n]]; If[y<0,Print[y]]; If[y<0,Break[]]; ];
214 :
デフォルトの名無しさん :2007/10/01(月) 22:16:48
こんにちは Solve[4-x^2Š0,x] を計算しますと X=-2, X=2 の解が得られますが、 X=2 だけを取り出して、 y=x^3+1 でしたら、 9 とするには、 {{x->-2},{x->2}} から、どのように2だけを 取り出せばよいでしょうか?
215 :
デフォルトの名無しさん :2007/10/02(火) 02:05:37
x=.;y=.; y=x^3+1/.Solve[4-x^2==0,x][[2]]
216 :
デフォルトの名無しさん :2007/10/02(火) 02:09:15
y=.; は不要でした。
数式計算でCとかC++とかいってるやつってあふぉなのか? 普通フォートランだろ
218 :
デフォルトの名無しさん :2007/10/02(火) 20:04:58
>215 お返事ありがとうございます。 この方法もありますね。 下記で、x->は不要です。 2だけを取り出す仕方はどうでしたか? Flatten[Solve[4-x^2==0,x]][[2]]
219 :
デフォルトの名無しさん :2007/10/03(水) 02:12:35
220 :
デフォルトの名無しさん :2007/10/03(水) 03:28:24
>>218 質問の真意はよく解らないが、単純に数値の2のみを取出したいのなら
x=.
x/.Flatten[Solve[4-x^2==0,x]][[2]]
でよいと思う。但しこの場合xには2が代入されていない。これを実行した後に
x
を実行すると
x
が返ってくるだけである。
もしxに2を代入した状態にしたいというのであれば
x=.
x=x/.Flatten[Solve[4-x^2==0,x]][[2]]
としなければならないように思う。これを実行した後に
x
を実行すると
2
が返ってくる。
221 :
デフォルトの名無しさん :2007/10/03(水) 20:31:02
>>220 お返事ありがとうございます。
よくわかりました。
x=x/.Flatten[Solve[4-x^2==0,x]][[2]]
で、希望のものを得られました。
222 :
デフォルトの名無しさん :2007/10/24(水) 16:07:48
ParametricPlot3D[{(2 + 0.5Cos[u])Cos[v], (2 + 0.5Cos[u])Sin[v], 0.5Sin[u]}, {u, 0, 2Pi}, {v, 0, 2Pi}] を使用し3Dの図形を書いたのですが、それをどうすれば回転させることができますでしょうか?よろしくお願いします
Print["足し算テストです."] i = 0; atari = 0; hazure = 0; While[i < 10, {com1 = Random[Integer, {0, 100}]; com2 = Random[Integer, {0, 100}]; com3 = com1 + com2; Print[com1, "+", com2, "=?"]; you = Input[]; If[you == com3, {Print["当たり"]; atari = atari + 1}, {Print["はずれ"]; hazure = hazure + 1}]; i = i + 1 }] Print["ゲ-ム終了です."] kekka = atari/(atari + hazure)*100; Print["あなたの点数は", kekka, "点です."] If[kekka > 80, Print["合格"], Print["不可"]] 上記のような簡単な計算のゲームを、今度は足し算の問題と引き算の問題がランダムに入り交じって10問出題されるようにするには、どうすればよいのでしょうか? IfやRandomを使っても、僕の力ではよくわかりませんでした。 どなたかよろしくお願い致します。
サイクロイドの作り方教えてください
ParametricPlot[ {t+Sin[t], Cos[t]}, {t, 0, 2 Pi} ] サイクロイドだよ
226 :
パニパニ少女 :2007/12/19(水) 14:04:38
すみませんがこの問題誰か解けませんか? 9行9列の整数型配列変数uzu[ ] [ ]に1から1づつカウントアップ下値を渦巻き状に代入するプログラムを作る。整数型の配列変数はuzu[9 ] [9 ]とする。 こんな感じにしたいんですよ。 1 2 3 4 5 6 7 8 9 32 33 34 35 36 37 38 39 10 31 56 57 58 59 60 61 40 11 30 55 72 73 74 75 62 41 12 29 54 71 80 81 76 63 42 13 28 53 70 79 78 77 64 43 14 27 52 69 68 67 66 65 44 15 26 51 50 49 48 47 46 45 16 25 24 23 22 21 20 19 18 17
227 :
デフォルトの名無しさん :2008/01/17(木) 09:52:20
>>226 感覚的には9×9のマスを動くロボットのようなプログラムを作ればいい。
壁か自分が既に通ったマスにぶつかったら自分の進行方向から見て右に曲がる。
次のマスにつくたびにカウントを1プラスしてuzu[x] [y]にその値を書き込めばそんな感じになる。
はず。
228 :
デフォルトの名無しさん :2008/01/21(月) 00:13:15
学校で宿題がでたのですが、さっぱりわかりません。 期限が明日の18:00までなので急いでいます。 以下問題文 ランダムウォーク (1) 平方和が1になるようなx成分、y成分を持つ乱数を発生させる関数randomXY[]を作成せよ ヒント:単位円上に一様に値を持つ乱数を考えよ. つまり,qを2 Piの乱数として,2つの要素x=Cos[q], y=Sin[q]を持つリストを生成する 乱数の発生については,組み込み関数のRandom[] のHelpを参照 (2) (1)で作った乱数の1000回分のリストを2次元平面上にプロットし, ランダムな動きを実現していることを確かめよ (これがランダムウォークの動く方向と大きさを表示している) ヒント:randomXY[]を1000回適用して得られるTableを作成せよ (そのリスト・テーブルの名前をrandomWalkStepとする) (3) randomWalkStepをListPlotせよ. FoldList,Plusなどの関数を用いてrandomWalkStep 値を順に加えた、 randomWalkというリストを生成せよ randomWalkを2次元の図に表せ(これがランダムウォークの粒子の動きの軌跡となる) HelpのListPlotの項目を参考に 長レスすみません。 お願いします。
229 :
デフォルトの名無しさん :2008/01/23(水) 22:21:17
先生にここ見られたらおしまいじゃん。 まあもう期限過ぎたしいいか。 randomXY[] := (q = 2Pi*Random[]; {Cos[q], Sin[q]}) randomWalkStep = Table[randomXY[], {i, 1, 1000}]; ListPlot[randomWalkStep] randomWalk = Transpose[{FoldList[Plus, 0, Transpose[randomWalkStep][[1]]], FoldList[Plus, 0, Transpose[randomWalkStep][[2]]]}]; ListPlot[randomWalk] で出来るはず。
宿題の答えを聞くバカ 教えるバカ
231 :
デフォルトの名無しさん :2008/01/30(水) 01:37:21
Windowsの[Alt+Tab]のように、 アクティブなノートブックを変えるショートカットキーってあります?
232 :
デフォルトの名無しさん :2008/02/17(日) 01:27:57
スレ違いかも知れないけど。 linuxにMathematica6.0がインストールできません。 MatheInstallerを実行すると、最後に A valid password file entry already exists. Installation complete. となって成功したようにみえます。でも、起動しようとすると # mathematica & Mathematica front end executable /usr/local/Wolfram/Mathematica/6.0/SystemFiles/FrontEnd/Binaries/Linux/Mathematica not found. Your Mathematica installation may be incomplete or corrupted. OS は fedora7 です。 どなたかわかりますか??
233 :
デフォルトの名無しさん :2008/03/01(土) 11:24:38
式の表示につきまして こんにちは、 下記の式、y1とy2があります。 y1を評価させて、y2の通り表示させるには、どうしたら良いでしょうか? y1 = Expand[(a1*p1 + a2*p2 + a3*p3 + b*mc)^2] y2 = p1^2*a1^2 + p2^2*a2^2 + p3^2*a3^2 + mc^2*b^2 + (a1*a2 + a2*a1)*p1*p2 + (a2*a3 + a3*a2)*p2*p3 + (a3*a1 + a1*a3)*p3*p1 + (a1*b + b*a1)*p1*mc + (a2*b + b*a2)*p2*mc + (a3*b + b*a3)*p3*mc ちなみに、y1をそのまま評価しますと、下記になり、y2の通り表示しません。 p1^2*a1^2 + 2*p1*p2*a1*a2 + p2^2*a2^2 + 2*p1*p3*a1*a3 + 2*p2*p3*a2*a3 + p3^2*a3^2 + 2*mc*p1*a1*b + 2*mc*p2*a2*b + 2*mc*p3*a3*b + mc^2*b^2
234 :
デフォルトの名無しさん :2008/03/30(日) 20:46:34
どなたか教えてください。 mathematicaで非集計ロジットモデルのパラメータ推定できるのでしょうか。 Rでは出来るようですけど、mathematicaの方が慣れてるのでできればmathematicaでやりたいのです・・・
235 :
デフォルトの名無しさん :2008/03/30(日) 21:15:50
# export LANG=C # mathematica & とやってみそ。
student ver持ってるんですが、日にちが過ぎたので ウインドウズの右下の日付を少し戻したんですが使えないままです。 ウインドウズの日付というのは値渡しということなんでしょうか?
237 :
デフォルトの名無しさん :2008/07/09(水) 18:22:13
Mathematicaで For[i = 1, i <= 500, i++, xdate1[i] = Random[Real, {-1, 1}]] For[i = 1, i <= 500, i++, xdate2[i] = Random[Real, {-1, 1}]] For[i = 1, i <= 500, i++, If[(xdate1[i])^2 + (xdate2[i])^2 > (2/Pi), ydate[i] = 1, ydate[i] = -1]] ってとこまでやったんだけど ListPlot[Table[{xdate1[i], xdate2[i]}, {i, 1, 500}]]]] のグラフ書いたとき ydate[i]=1の部分だけ色変えたいときってどうすればいい?
>>237 グラフのオプションはバージョン5以前と6以降で大きく違うから、
バージョンも書いたほうがいいよ
楽なのはydate[i]=1のときのグラフと-1のときのグラフを別々に作って、
Showで表示する方法だと思う
あとdateじゃなくてdataじゃないの?
239 :
238 :2008/07/09(水) 18:54:10
>>237 For[i = 1, i <= 500, i++, xdate1[i] = Random[Real, {-1, 1}]]
For[i = 1, i <= 500, i++, xdate2[i] = Random[Real, {-1, 1}]]
tbl1 = {}; tbl2 = {};
For[i = 1, i <= 500, i++,
If[test[i] = (xdate1[i])^2 + (xdate2[i])^2 > (2/Pi),
AppendTo[tbl1, {xdate1[i], xdate2[i]}],
AppendTo[tbl2, {xdate1[i], xdate2[i]}]]]
ListPlot[{tbl1, tbl2}, PlotStyle -> {Blue, Red}]
こんな感じかな
ver6だけど、5以前でも変わらないと思う
240 :
デフォルトの名無しさん :2008/07/10(木) 16:36:34
おお、サンクス
241 :
デフォルトの名無しさん :2008/07/15(火) 16:39:38
While を使って1 から整数i までの間の素数の数を数えるプログラムを作 れ。整数i は最初の行にi=4; のように与えること。 これ教えてくださいお願いします
maximaと文法似てるの?
>>241 PrimeQ使えば至極簡単なんだけど、使ってもいいの?
i=4;n=2;c=0;While[n<=i,n=NextPrime[n];c++]
245 :
デフォルトの名無しさん :2008/09/11(木) 10:50:40
初歩的なことだと思いますが, 定義域ごとに関数を定義したいんですが 例えば, For[i=0,i<100,i++,x[t_] := 0.5^i /; i<t<i+1] とするとうまくいきません. 誰か教えてください.
>>245 例えが何がしたいのか良くわからないが、
定義域が引数に対してなら、こんな感じになる
x[t_ /; t >= 0] := Log[t]
x[t_ /; t < 0] := Log[-t]
関数xは引数tが0以上のときにLog[t]、0以下のときにLog[-t]を返す
質問の意図がよくわからんかったから見当はずれの答えかもしれん
247 :
デフォルトの名無しさん :2008/09/11(木) 14:35:02
説明不足ですいません。 x[t_ /; 0<t<1] := 0 x[t_ /; 1<t<2] :=1 とすれば、階段関数みたいのものを定義できますが、 これを繰り返し、定義域 i<t<i+1に対して 例えば 関数 x[t_] := i みたいなもの定義したいのです。 もちろんこのケースは x[t_] := Integer[t] とすれば階段関数が定義できますが、 もっと複雑に i に依存して、 それぞれの区間 i<t<i+1 にたいして Forループで関数を定義したいのですが、 For[i=0,i<100,i++,x[t_] := i /; i<t<i+1] ではうまく定義されません。 どうしたらよいでしょうか?
248 :
246 :2008/09/11(木) 20:27:57
>>247 反復演算子を使ってるのが良くないみたいですね
局所定数にしてしまえば、上手くいくんじゃないでしょうか
For[i = 0, i < 100, i++, With[{j = i}, x[t_] := j /; j < t < j + 1]]
249 :
デフォルトの名無しさん :2008/09/11(木) 20:57:59
>>246 大変ありがとうございました。
うまく行きました。
たすかりました。
mathematicaで微分演算子を含むハミルトニアンを独立に扱いたのですが,できるのでしょうか? 例えば,一次元調和振動子のハミルトニアンでしたら H=-d^2/dx^2+x^2 ですが,これを独立に扱って (H-E)^2*ψ などの計算をmathematicaで簡便に行いたいのですが(ここでψは簡単な指数関数,ψ=exp(-a*x^2) など),このような計算のプログラミングはどのようにすればできるのでしょうか?
251 :
デフォルトの名無しさん :2008/09/24(水) 22:23:31
>>250 (・∀・)つ 「物理学のためのMathematica―古典力学から宇宙論まで」
ロバート・L. ジンマーマン (著), フレデリック・I. オルネス (著)
253 :
デフォルトの名無しさん :2008/10/14(火) 17:14:51
マスマティカでwigner分布できるパッケージある? マスマティカってwigner分布啓さんできる?
254 :
デフォルトの名無しさん :2008/11/25(火) 15:07:59
interpolationを使ったら 座標が構造化テンソル積グリッド上にありません って言われた。 ヘルプにも乗ってないんだけど、ヘルプが古いのかな?
255 :
そら :2009/06/11(木) 13:12:43
MathematicaにDistributeという関数があるのですが、この関数を使って自分で作った関数に分配則を適用できます。 ここで問題なのですが、 Distribute[f[a+a+b,c]]と入力をすると、f[a,c]+f[a,c]+f[b,c]と出力してほしいのに、 f[2a,c]+f[b,c]と出力されてしまいます。 f[a,c]+f[a,c]+f[b,c]と出力するには、 a+a+bの部分を勝手に計算してしまうMathematicaの悪い癖を正さないといけないと思うのですが、 何か良い方法はないでしょうか?
すいません。初歩的な質問なんですが n乗の計算式を求めたいんですが・・ mathematicaでは自分で数値を入力するようなことはできないのですか?
257 :
そら :2009/06/21(日) 03:24:07
>>256 n乗の計算式って何?
x^nと記述すれば、xのn乗が求まります。
具体的な数値を知りたければ
In:N[Pi^3]
Out:31.006277
となると思います。
知りたい事がよく分からないので、勝手に回答しちゃいました。
258 :
そら :2009/06/21(日) 03:32:55
>>255 解決しました。
SetAttributes[f, HoldFirst]で属性を加えると
第一引数については計算しないで固定しておいてくれるみたいです。
しかし残念ながら、第二引数、第三引数については固定しておく方法が見つかりませんでした。
まぁ、問題は解決したので良かったのですが・・・。
259 :
デフォルトの名無しさん :2009/06/21(日) 07:17:44
Mathematicaは数値計算も出来るけど 本格的な数値計算ならMATLAB系がいいんだよね?
260 :
デフォルトの名無しさん :2009/06/24(水) 11:08:52
?-g1. input=taro. input=jiro. input=2. input=.. . input=end. yes endが入力されるまで繰り返して、入力をするg1を作りたいんですけど、全くわかりません。知恵を貸して下さい。お願いします。
アルファベット(aからz)までのさいころをつくって1000回投げて、目の頻度をカウントするにはどうしたらいいんですか?
>>261 RandomChoice[CharacterRange["a", "z"], 1000]
Tally[%]
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L
名言集 その2
『お前が規制系キャップ取れるか審査してやるよ』
http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ ID:PVAf+dux0 = 自動焼人 ★
> 36 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:31:30.02 ID:PVAf+dux0
>
>>33 > キャップとコテハンの違いは何?
> 46 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:38:05.34 ID:PVAf+dux0
>
>>45 > その回答では落ちるなw
> 答えは教えないがw
> 50 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:41:29.96 ID:PVAf+dux0
> Q.キャップとコテハンの違いは何?
> A.2ちゃんねるのボランティアの登録制度
> それがお前の答えかw
> 52 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:43:10.06 ID:PVAf+dux0
> まぁ、どうせ正解が出るわけもないし、次の問題。
> 君が思う面白いスレはどんなの?
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/ にて自動焼人 ★までご連絡ください
BubbleChart[{{0.5,0.5,0.5}},PlotRange->{{0,1},{0,2}}] とやると、バブルが楕円になってしまうのですが、 PlotRangeを使いつつ、バブルを円にするにはどうしたらいいですか?
ダミーデータ入れて、自己解決しました。 BubbleChart[{{0.5,0.5,0.5},{0,0,0},{1,2,0}},PlotRange->{{0,1},{0,2}}]
266 :
デフォルトの名無しさん :2009/09/14(月) 12:15:34
2変数の偏微分方程式(境界はすべてディリクレ型)を解こうとしています。 変数の範囲はx,yともに0〜1で、d^2u[x,y]/dx^2+d^2u[x,y]/dy^2=0 が支配方程式です。境界条件として、 u[x,0]=sin(2*PI*x), u[x,1]=-sin(2*PI*X), u[0,y]=0,u[1,y]=0 としています。これをNDSolveで解かせようと思い、以下のコード sol1 = NDSolve[ { D[u[x, y], x, x] + D[u[x, y], y, y] == 0 , u[0, y] == 0, u[1, y] == 0, u[x, 0] == Sin[2 Pi x], u[x, 1] == -Sin[2 Pi x] }, u[x,y], {x, 0, 1}, {y, 0, 1} ] を実行しても Boundary values may only be specified for one independent variable. \ Initial values may only be specified at one value of the other \ independent variable. と言われて結果が出ません。境界条件の与え方が悪いのでしょうか? どうしたらいいか教えてください。
すいません、教えてください。 たとえば、 P[l_, x_]:=D[(x^2-1)^l,{x,l}] と定義して P[1,t]とすると2tと正しい結果になるのですが P[1,1]とするとエラーになります。 t=1のときの値を計算するにはどうすれば よいのでしょうか。
>>267 >P[l_, x_]:=D[(x^2-1)^l,{x,l}]
純関数を使えばできます。
P[l_, x_] := Derivative[l][(#^2 - 1)^l &][x]
269 :
267 :2009/09/27(日) 11:32:20
ありがとうございます! おかげでルジャンドル関数が定義できました。 (mathematica calccenterを使ってるのですが 特殊関数が入っていないのです・・・)
270 :
デフォルトの名無しさん :2009/10/04(日) 03:12:15
大学で 一様な電場中に導体球がおかれたときの電位・電場の様子を可視化せよ という課題が出たんですが 特に境界条件とかどうしていいのかよくわかりません 誰かヒントや解いてくれる方いないでしょうか? 提出期限は、10月7日の18:00までです。お願いします。
マルチw
272 :
デフォルトの名無しさん :2009/12/04(金) 21:36:08
どなたか下記のプログラミング(mathematicaです)の誤りを ご指摘頂けないでしょうか? Labelが見つからないと表示されます。 教本2冊と奮闘しておりますが、わかりません。 x = -10; d = 2; Label[begin] s = x^2 - (x + d)^2 If[d/2 < 0.01, Goto[end], Goto[hazime]] Label[hazime] If[x^2 - (x + d)^2 >= 0, {x = x + d; Goto[begin]}, {d = d/2; Goto[begin]}] Label[end] Print[x] 宜しくお願いします。
273 :
デフォルトの名無しさん :2009/12/05(土) 08:21:43
なんでgotoなんてつかってるの?
>>272 やりたいことがよくわからないのだが、こう書いたほうがいいのでは?
x = -10;
d = 2;
While[d/2 >= 0.01,
If[x^2 - (x + d)^2 >= 0, x = x + d, d = d/2];
]
Print[x]
Goto は使わないほうがいい。
275 :
デフォルトの名無しさん :2009/12/16(水) 22:00:39
こんにちは、
下記HPの図1は、直列共振回路です。その波形は、図2です。更に、mathematicaで計算したのが、図5です。(下記にプログラムを示します。)
では、図7のようなインパルス列を入力するようなプログラムはどのように書けばよいでしょうか?波形は図8のようになるはずです。
http://www.geocities.jp/dirac_equation/index.htm Clear[m, l, k, F0, w, x, t]
solution = DSolve[{m*Derivative[2][x][t] + l*Derivative[1][x][t] + k*x[t] == F0*Cos[w*t], x[0] == 0, Derivative[1][x][0] == 0}, x[t], t];
solutionNew = FullSimplify[solution];
x[t_] = x[t] /. solutionNew[[1]];
L = 300/10^6;
R = 10;
c = 47.59/10^12;
V = 1/10^3;
Print["(*振動数 f が 固有振動数の場合*)"];
f = 1/(2*Pi*Sqrt[c*L])
f = 1.332*10^6;
w = 2*Pi*f;
Plot[Evaluate[x[t] /. {m -> L, l -> R, k -> 1/c, F0 -> V*w}], {t, 0, 200/10^6}]
インパルス列の条件です。
Pulse Amplitude 5V
Period 3us
Pulse Width 300nS
Rise Time 1nS
Fall Time 1nS
276 :
デフォルトの名無しさん :2009/12/22(火) 09:01:27
u(x)=x^(2/5) の効用関数の(a,u(a))における接線をu(x)のグラフに書き加えるためのModuleを作成したいのですが どうModuleを使ったらいいのかよくわかりません・・・ 別々に計算してグラフに描くだけならできるのですが…(ヽ'A`)
>>276 Module を使うというところがよくわからないのですが、単に
u[x_] := x^(2/5)
a = 1;
Plot[{u[x], u'[a] (x - a) + u[a]}, {x, 0, 3}]
では駄目なのでしょうか?
278 :
デフォルトの名無しさん :2009/12/26(土) 17:30:36
>>277 u[x_] := x^(2/5)
Plot[u[x], {x, 0, 5}, AxesLabel -> {"x", "u(x)"}]
上記でかいたグラフに点(a,u(a))における接線を書き加えるModuleを作りたいんです
tangent[a_] := Module[u'[x]*(x - a) + u[a]]
としてtangent[1.5]などと入れるとそのaの値における接線が書き加えられたグラフを描くようにしたいのですが
うまくいきません
>>278 Module は使わなかったのですが、
u[x_] := x^(2/5)
g1 = Plot[u[x], {x, 0, 5}, AxesLabel -> {"x", "u(x)"}]
tangent[a_] := Show[g1, Plot[u'[a]*(x - a) + u[a], {x, 0, 5}]]
でやりたいことが実現されるでしょうか?
280 :
デフォルトの名無しさん :2010/01/13(水) 12:37:31
>>279 u[x_] := x^(2/5)
tangent[a_] := Module[a],
Plot[u[x], u'[a]*(x - a) + u[a], {x, 0, 5}, AxesLabel -> {"x", "u(x)"}]
こんな感じにしたいのですができませんでした・・・
>>280 こんな感じでいけます。
u[x_] := x^(2/5)
tangent[a_] :=
Plot[{u[x], u'[a] (x - a) + u[a]}, {x, 0, 5}, AxesLabel -> {"x", "u[x]"}]
tangent[1]
282 :
デフォルトの名無しさん :2010/01/21(木) 18:20:04
283 :
デフォルトの名無しさん :2010/02/12(金) 11:47:20
現在単一パーコレーション・クラスター・プログラムを作成しています。 とりあえず以下のプログラムになりました。 In[1] := Epidemic[n_, p_] := Module[{choices = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}, reject, pickAndChoose, select, newpers}, reject = {}; pickAndChoose := (select = #[[2, Random[Integer, {1, Length[#[[2]]]}]]]; If[Random[] <= p, newPers = Complement[Union[Map[Function[y, y + select], choices], #[[2]]], {select}, #[[1]], reject]; {Join[#[[1]], {select}], newPers}, reject = Join[reject, {select}]; {#[[1]], Comple, ent[#[[2]], {select}]}]) &; FixedPoint[pickAndChoose, {{{0, 0}}, choices}, n, SameTest -> (#2[[2]] == {} || Length[#2[[1]]] == n &)][[1]] ] 上を実行すると SetDelayed::write : In[1]のタグInはProtectedです. と、エラーが出るんですけど、どうしたら解決しますか? 初心者でヘルプを見てもよくわからなくて・・・わかる方いましたら教えてください。
maximaみたいにlispで拡張作ることできますか?
286 :
デフォルトの名無しさん :2010/06/09(水) 14:23:01
100ステップの2次元ランダムウオークを作れ。 ただし、東西南北をそれぞれ、{1、0}{ー1、0}{0、ー1}{0、1}で 表すことにする。 (ヒント:りすとdirectotions={{1,0},{-1,0},{0,-1},{0,1}}を作り、1、2、3、4の範囲の 乱数kを発生させ、directotionsのk番目の要素をとるとランダムな方角が得られる) すいませんが練習だと思って解いてくれませんか?課題が出せないんでお願い
Graphics[Line[Accumulate[RandomChoice[{{-1, 0}, {1, 0}, {0, 1}, {0, -1}}, 100]]]]
288 :
デフォルトの名無しさん :2010/06/14(月) 17:32:48
整数nの各位の数字の合計を出力する関数f4[n]を書け。 例えば、f4[1234]=10. わかる人います?教えてくれませんか?
>>288 ヒント:1234 をなんとかして {1,2,3,4} の形にして足す。
290 :
デフォルトの名無しさん :2010/06/16(水) 13:53:39
教えて 正整数nのケタ数を与える関数f2を書け。たとえば、f2[40172]=5
291 :
デフォルトの名無しさん :2010/06/16(水) 14:57:57
↑ 問題間違えました。 0より大きく1より小さい既約分数で分母がn以下のものを 小さい方から並べてできるリストを出力する関数f5[n]を書け。たとえば、 f5[n]={1/4,1/3,1/2,1/3,1/4} (このような数列をnに対するFarey数列といい、いろいろおもしろい性質が知られている。 たとえば、隣り合う項をa/b,c/dとすると、必ずab-cd=-1となっている。) すいませんがお願いします。
>>291 あまり美しくないが。
f5[n_] := DeleteDuplicates[Sort[Flatten[Table[Table[Which[0 <= a/b <= 1, a/b, True, {}], {a, 0, n}], {b, 1, n}]]]]
293 :
デフォルトの名無しさん :2010/06/16(水) 15:43:48
ありがとうございます
294 :
デフォルトの名無しさん :2010/06/16(水) 16:06:39
正整数nの各位の数字を逆転させた数をnの逆転数といい、r(n)と書く。 たとえば、f[1234]=4321 r(n)=n/4となるような最小の正の整数を求めよ。 お願いします。意味わかりません。
まず f[1234]=4321 を作るとどうなる?
296 :
デフォルトの名無しさん :2010/06/16(水) 18:04:33
どうなるって?
まず、1234 を 4321 にするにはどうしたら良い?
298 :
デフォルトの名無しさん :2010/06/18(金) 01:07:45
わからん
5555-1234
それだと 2345 のときに 5432 にならない。
もっと頭を柔らかく、Mathematica 的に考える。
Mathematica が得意なのは何か?
ヒント:
>>288
301 :
デフォルトの名無しさん :2010/06/23(水) 13:58:45
正の整数リストから元の順序を変えずに重複するものを取り除く関数を書け。 {3,1,1,5,2,1,2}み適応し、{3,1,5,2}になることを確かめよ。 (Unionを使うと{1,2,3,5}になるので注意) なんか方法ある?
302 :
デフォルトの名無しさん :2010/06/24(木) 19:41:09
タクシーの番号を見てラマヌジャンが 「その数は2通りの仕方で2つの正の立方数(立方数とはn^3)の和で表される 自然数のうち最小のものです」さてその数は何か? 答えはたしか91になればいいと思います。 僕にとってムズイので教えてください。 91 = 6^3 + (-5)^3 = 4^3 + 3^3
303 :
デフォルトの名無しさん :2010/06/25(金) 13:18:07
タクシーの番号を見てラマヌジャンが 「その数は2通りの仕方で2つの正の立方数(立方数とはn^3)の和で表される 自然数のうち最小のものです」さてその数は何か? 答えはたしか1729になればいいと思います。 僕にとってムズイので教えてください。
304 :
デフォルトの名無しさん :2010/06/30(水) 12:58:26
6より大きな偶数nは二つの素数p,qの和で書けると予想できている。(ゴールドバッハ予想) 6より大きな偶数nに対し、n=p+q(p<=q)となるような素数の{p,q}を 与える関数goldbach[n]を書け。 goldbach[1000]を実行せよ。 goldbach[n_] := Table[{i, n - i}, {i, 3, n/2}] までやったんだけど、goldbach[10]をやると、 {{3, 7}, {4, 6}, {5, 5}}になるんだ。どうすりゃ{4,6}消える? PrimeQはどこで入れるの?最初から違う
305 :
デフォルトの名無しさん :2010/06/30(水) 14:51:49
正整数nが対称数とは、nの逆転数とnが等しいものである。 例えば12321は対称数である。 正整数nに対し、それが対称数ならnを出力し、 そうでなければ、nとその逆転数を加え、それが対称数かどうか調べる。 この操作を対称数が得られるまで繰り返し、 得られた対称数を出力するような関数f[n]を書け。 たとえば、 78→78+87=165→165+561=726→726+627=1353→1353+3531=4884 なのでf[78]=4884である。 わかんないです。助けてください。
306 :
デフォルトの名無しさん :2010/07/02(金) 13:58:34
マセマティカによりモンテカルロ法を用いて、何か平面図形の面積を求めてください。 そして、その数値と求積の公式や積分を利用して得られる理論値との違いを調べてください。 すなわち答えることは以下の4点です。 (1)どうゆう図形について考えましたか? (2)その図形の面積をモンテカルロ法で求めるとどうゆう結果がでましたか? (3)その図形の面積を数学で求めるとどうなりますか? (4)あなたがモンテカルロ法で計算した結果は理論値に対して何%のずれがありますか?
307 :
デフォルトの名無しさん :2010/07/06(火) 00:48:57
ポーカー トランプのカードを {H,1},{H,2}.....,{H,13}(ハート) {S,1},{S,2}.....,{S,13}(スペード) {D,1},{D,2}.....,{D,13}(ダイヤ) {C,1},{C,2}.....,{C,13}(クラブ) で表す。 (1)52枚のカードからランダムに5枚選び出す関数を書け。 (2)5枚の手札の(ポーカーにおける)点を下の表に従って与える関数を書け。 (3)(1)を1000回繰り返したときの平均点数を求めよ。 (表) ワンペア 5点 ツーペア 10点 スリーカード 15点 ストレート 20点 フラッシュ 25点 フルハウス 30点 フォーカード 40点 ストレート・フラッシュ 50点 ロイヤル・ストレート・フラッシュ 100点
行列計算のsolveはできないのか solve(A.x=b,x)
すいません。よくわかりません。
ベクトルと行列の方程式を解く方法はないのかってことだよ
できないかも。 俺へたっぴだから。
例えば、Erf関数名は知ってるけど、数学的な誤差関数の定義を知りたいときに、使えるコマンドってありますか? Hoge[Erf]ってすると、∫e^t2dtって感じの出力が得られるような関数です。
Hoge[exp]の出力は
315 :
デフォルトの名無しさん :2010/09/29(水) 23:06:46
なにこれ
316 :
デフォルトの名無しさん :2010/12/22(水) 21:05:11
mathematicaの .nbファイルをもらったんだけど, mathematicaでは簡単な計算をしたことはありますが, プログラムをしたことがありません.
317 :
デフォルトの名無しさん :2010/12/22(水) 21:07:21
定義されている変数とか,関数とかを見るにはどうすればいいですか?
318 :
デフォルトの名無しさん :2010/12/22(水) 22:03:50
うーん
320 :
デフォルトの名無しさん :2011/04/25(月) 01:19:47.59
オライリーのマスマティカ本欲しい!ほしゅぃいいいいいいい!
Rubyバカにしてる子ってさ 変数に$ついてる言語触ってるって事だよね いちいちSHIFT+4キーおして $ 打ちまくってる感触はどう? はい次(笑)
∨∨∨∨∨ <<<<<<<<<<< こんなのがあるよ。 >>>>>>>>>>>(キリッ!キリッッッ!!ッ!!! ∨∨ <<<<<<<<<<<< 「Mathematica Cookbook 日本語版」出版記念講演 >>>>>>>>>>>>(キリッッッッ!キリッッッッ!!!!キリッッッッッ! ∨ <<<<<<< 4月27日(水)14:00〜17:00 >>>>>>>(←キリッ!!!きリッッ!!!キリ!!キリ!!ッッ!! ゴミじゃねーか
2011年、Ruby,Perl,PHP,Pythonって並べたときにさ ここで、Ruby以外を選ぶ奴ってマジでなんなんだろうな ゴミだよなぁほんと
325 :
デフォルトの名無しさん :2011/07/05(火) 02:02:10.53
こんばんは。質問があります。 ペーペー野郎を助けて頂けませんか? Mathematicaって、けっこうバグとかあったりするものです? 非線形方程式、非線形常微分方程式とか解かせているんですが、 確認のために、解を元の方程式に代入しても方程式が成り立た なくなってしまうんです・・・ 何か特別なことをしないといけないのですかねぇ・・・。
>>327 ListPointPlot3Dが近いかも
ある関数の変数の変化率を連続ではなく、1、2、3・・・・とΔ=1で飛び飛びにとってプロットしたいのですがどうすればいいのでしょうか?
330 :
デフォルトの名無しさん :2012/05/24(木) 17:04:37.74
日本語における文字セットと符号化方式の関係についておしえてくださいい
Newton法を用いて与えられたαに対しての√αの近似値を求める xn=xn-1- x^2n-1-α/2xn-1=1/2(xn-1+α/xn-1) (n=2,3…) を使って計算するのって、そのままだと駄目なんですか? 最近マセマティカを勉強し始めたばかりなので、変な質問ですみませんがどなたか教えてください。
なんでこのスレこの板にあるんだ?
数学板はAA貼る人がいるからじゃ?
334 :
デフォルトの名無しさん :2012/09/20(木) 08:58:59.03
リストを2次元の散布図にプロットした後、誤ってリストを消してしまったのですが、 作成した散布図のデータからリストのデータを取り出す方法ってありますか? 散布図に対してFullFormすれば一応わかるのですが、散布図の数が多いのでリストデータで欲しいのですが どなたか回答お願いします。
335 :
デフォルトの名無しさん :2012/11/26(月) 06:57:02.99
tabで区切られたデータファイルの読み込み方法を教えてください
336 :
デフォルトの名無しさん :2012/11/26(月) 17:44:45.58
状態密度ρ(∈)=Σδ(∈-E(k)) を表すグラフを書きたいのですが どうしたらいいでしょうか? ∈での箱を自分で定めて、確率がだとかなんとか…
みんなホームエディション買っている?
ドキュメンテーションセンターが「Mathematica 9」になってる。 新バージョン クル━━━━(゚∀゚)━━━━!!
339 :
デフォルトの名無しさん :2013/02/11(月) 17:54:35.20
ふと思ったこと。 2004 11/18 〜 2013 2/11 この先、何年続くの?
書き込みが1000になるのは2028年くらいかな
あと10年以上あるね。 それまでに Mathematica の使い方マスターしたいと思います。
一日一善とかいうのは削除されたのか?
For文の中の変数iを、回す文章の中のファイル名に入れたいのですが、どう書けばいいのでしょうか? 例えば、Import="フォルダ名//基本名i"という形で、iによって読み込むファイルを変えたり、基本名i=○○○という変数をFor文の中で定義したりしたい場合はどうすればいいのでしょうか。
344 :
デフォルトの名無しさん :2013/11/10(日) 14:33:19.67
こんにちわん。
多対一マッチングってmathematicaでどうすりゃええんや
347 :
デフォルトの名無しさん :2013/11/23(土) 01:14:39.03
「一日一善」の書き込み消えてるやん。 まあ。いいけど。
1.98のような近似値を198/100のような厳密値に変換する組み込み関数はありますか?
あるよ
書きたい答えを349が全く同じに書いてくれた だからサービス Rationalize[1.98, 0] てかマニュアル見たがはやいよ
351 :
デフォルトの名無しさん :2014/11/06(木) 04:24:41.45 ID:iaZsweTc
何向けの言語だこれ
数式処理システムとそれを扱うための言語