忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[1] [2] [3] [4] [5] [6] [7] [8] [9]
そういえばまだこのテーマで日記書いたことありませんでしたっけ?


たとえば立方体を描きたい場合
空中に面を描く 
まず、図のようにx、y、zの座標データのセットを入力します。
これで1枚の正方形が描かれます。
立体ではなくあくまで面として描かれることに注意してください。

四角形なのに5組のデータがあるのは、元の場所に閉じさせるためです。
n角形の場合はn+1組のデータが必要です。

これは、左右:x、上下:y、奥手前:zとした際に、キューブの手前を想定した面です。


次に奥に配置するデータを考えます。
図のようにzだけが異なります。
空中に面を2枚描く 
面データの組同士は空白にしないと、折れ線グラフの場合につながってしまいます。
文字やスペースを入れてもグラフにゼロとして表示されてしまいます。ぬるぽ

もし間を開けたくなければ点の集合を線とみなすこともできます。
どちらにせよ管理が煩雑になりがちです。


手前・奥で行ったことを左右・上下でも繰り返します。

空中に6面を描く 模式図 
立方体のように等方的な物体の場合は、x、y、zの3軸が対称なので、コピペが有効です。
また、わかりやすいように部品ごとにラベルをつけてあげるとこれが意外と役に立ちます。



データが揃ったところで、回転をさせてみましょう。
ジンバルロックが発生しないクォータニオンを用いることもできますが
今回は簡易3Dモデリングなので、回転行列を用います。
3軸回転行列 
それぞれの軸の回転行列はこのように定義されるため、以下のように配置するとよいでしょう。
回転行列と複合行列 
合成の部分では3軸の回転をひとまとめにしてあります。
行列計算の関数mmultを使って、mmult(x軸回転、mmult(y軸回転、z軸回転))のように記述し
代表のセル(左上)を選択しながら計算させたい領域(3行3列)を選択した上で数式バーをクリックし、そこで
これもsteins;gateの選択ゥ!     
ctrl+shift+エンター
を押せば全体に計算が行き渡ります。

総角540度で一周り   
知っての通り、行列演算は順番が命です。
したがって、z軸回転させたあとにx軸回転させるのとその逆とでは結果が異なります。
ラジオ体操第一の最後の、手を上げ下げする動きを思い出してください。


まあその辺は留意しながら順序を調整して回転させてあげてください。

x,y,zのデータ組に作用させるのも行列の掛け算mmult関数で行います。
x,y,zの横ベクトルの右に、合成した回転行列を掛け算すると、元のと同じ1行3列のベクトルデータが得られます。

(x',y',z')=mmult((x,y,z),回転行列)
といった感じの記述になります。
回転行列に絶対参照(、ベクトルデータに複合参照)をつけるのを忘れないで下さい。




ここで、空白セルの扱いに困りがちになると思います。
とりあえずここはエラーを出させといていいと思います。
3D回転(ジンバルロックあり) 



なお、並進移動は動かしたい分を足し引きするだけです。
10.A図 
ここで、エラー値をホンモノの空白にしてx-yグラフを作成すると、回転角度に応じて透視図ではなく投影図として描かれることがわかると思います。



ここで、簡易的に遠近法を用いて投影図から透視図にすることもできます。
グラフの中心を消失点とすると、遠近法がかなり簡易に描写可能です。

 
まず、zのデータに下駄を履かせて、負数にならないようにします。
次に、xとyの値をzに比例して拡大させます。
投影→下駄下駄→遠近 
これだけです。
10.4図 

といってもこの場合、近くにあるものを小さく、遠くにあるものを大きく描写しているので、遠近が逆になっているので注意してください(にゃん太)



ついでにこのキューブを動かしてみましょう。(XP界隈のOSとスペックでしか動作確認していませんが!)

ミリ秒取得の方法を用いますと
このようになります。

now関数を使うのはいいのですが、どうしてtoday関数を引くのか説明したことがあまりありませんでしたね
桁あふれを防ぐのに、この関数が格好の餌食だったのです。



次に、循環参照を使った具体的な動かし方を紹介します。
循環参照の反復計算を開始するスイッチとなるセルを設け
そのスイッチが0だったら初期値のゼロを、
スイッチが1になったら自分自身のセルに0.5ずつ足していく式を入力するとこうなります。
間違い探し



まあ、あんま汎用性のある3Dモデリングの方法ではありませんが
Excelでマクロもアドインも用いずにこの程度ならできることがわかるかと思います


奥を点線にしたり、面に塗りつぶしを施したりしようとすると急に面倒になるんですよねぇ

ブログランキング・にほんブログ村へ
にほんブログ村

拍手[2回]

PR
マジ汎用!

元々ミキシングソフトとして入手したaudacityでしたが、
ピッチ・速度・テンポの変換の他、波の瞬時値の上下反転や逆再生までできてしまうとは!!

これはあれですねえ
ピッチ変換のために入手したツールは用済みですねえ
ピッチ変換ソフトは手軽さをメインで入手したので、あまり精度がよくなかったようなんです
audacityのが完全に上位互換でしたわ~。手軽さもそのままに。
ピッチ・テンポを独立変換しながらミキシングも並行してできるので、いちいちツールを立てたり閉じたりしなくていいのがいいですね。

音声加工効果一覧 
今日は上下反転(逆位相)の術も習得しました。
なんてことはなかったです。エフェクトのところにピッチ・テンポ・スピード変換と並んで置いてありました。


試しにインストverを反転してみたんですが
すごいですね
バックコーラスのみのとき
↑歌なし
↓歌あり(上から本編左・右、インスト左・右)
歌声が入ってる時  
歌がないところでは6dBほど抑えてくれますよ!
といってもまだ聞こえる範囲なんで、あとはノイズ消去とかで消し去れるかもしれません。

これは歌声リッピングツールも産廃・・・とまではいきませんがあれですね

歌声リッピングツールは全自動でやってくれるので
一度自分の手でやってみたかったんですよ~^^


手持ちのmp3データのサンプリング・レートが44kHz(128kbpsの半分以下なのはナイキストの定理?)だからだと思うのですが
振動波形の最小単位である25マイクロ秒くらいまで見れて
この最小単位で加工ができちゃうんですよ。

1最小単位くらいズレて混ざっても、歌声リッピングとしては違和感ないみたいです。




このソフトすげぇなぁ



気になったのは、同じCDのカップリングでも意外と最初の無音の時間の取り方(昔の言葉だと「頭出し」とか言うんでしたっけ)に違いがあるという点ですね


これは案外、配信で歌声アリバージョンを買ったあとに、インストバージョンも欲しくなってCDを借りた
そんな楽曲同士でも歌声リッピング可能かもしれませんねえ

ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

分光器の残骸
先日、分光器を作った時に切り刻んだCDの残骸です。


ハサミで切れちゃうんですが、まあやっぱりいざ切るとなるとためらっちゃいますね~。
お父さんに「フリスビーにしていいよ」って言われても最初困っちゃいますよね^^;
ボロボロとキラキラしたものが舞い散るとそれはもう不安になります。

大切なデータと一緒に健康も失ってしまうんじゃないかと不安にね。


まあ、ボロボロと剥がれ落ちたのは指に刺さるようなものではなかったようなので一安心でしたが。

CDの本体 
ちょっと興味が出たので剥がし続けてみると
どうも、CDの本体というのはこの剥がれた薄っぺらいほうのようでして
僕達が「円盤」と呼んでる透明な板はただ透明であればそれでいいというもののようです。


だってこの透明な板、キラキラしてないんだもん。(ちょっとしてるけど)
虹が出ないってことは回折格子っぽいことなにもしてないってことじゃないすか。

液晶ですらないようですしね。
まあ液晶みたいな機能があったら邪魔でしか(た)ないとも思いますが。


そういえば昔、先生とCDの扱いの話をしていたら
「裏面傷つけるより、表面にボールペンでガリガリ名前書いちゃうほうがよっぽど怖い」
って言ってましたね。
やっぱりデータを書き込んだり読み込んだりしてる対象(ピット)って表側にあったんですね。

その真裏に我々人類はラベルを貼ったりマジックで文字を書いたりしてたんすね


CDのほとんどは透明でできています 
CDのほとんどは「透明ななにか」だったんすね・・・
それだけの厚さがないと人類はこのデータ容量を扱えなかったんですね・・・
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

なんか残業になっちゃったし、これから2バイトくらいあるんで。
書くことはあるんですが書けることがありません。

メンガーのスポンジ 
アリス式外観「問題なんかなにもないよ」

書くことがないので、以前日記に書いた「メンガーのスポンジ」の元データExcelファイル(DL用)でも投下してお茶をにごします。うっかり2MBを越えてしまったので、一部部品を削っておきました。背後のグループ化された部品でもコピペすれば完成するんじゃないかな。

お使いのPCのスペックとかによってはExcelクラッシャーになるかもしれない部品数なんで、開く前には作業中諸々のバックアップ(保存)をお願いします。

ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

フラーケン「雷撃戦準備!かのん砲、ファイヤー!!」クラーゲ
 田中(孫) 

なんか眠れなかった変なテンションで書いているわけですが
睡眠の深度をA、睡眠時間をfとして、睡眠の質量をAとfの積、つまりそのまんま「Af積」というもので定義することにします。
急速潜行!

Aとfを掛け算するのは面倒臭いので、両対数を取りましょう。
G=logA、B=logfとすると
睡眠の質量はG+Bという、そのまんまGB和(10の指数がG+B)で定義できます。
Af積からGB和へ 
しかしせっかく面積が長さになったのに縦と横をいちいち測って足すのも面倒くさいので
縦と横のスケールやベクトルの始点を整えて真四角にし、
斜めの長さの√2倍で評価できるようにすると、計算尺として便利デスネっ☆






ところで両対数グラフにおけるルート2倍ということは
リニアグラフに戻すとルート2乗ということになると思うのですが
ちょっと「ルート2乗」って言葉が聞きなれないのでぐぐったらちょっと変なものが出てきました。
ルート2のルート2乗のルート2乗 

コンゴーデース 超越数の無理数乗 
左:肩にだけ注目するとなんのことはない、根号の解除なのですが
 右:カッコにだけ注目すると、超越数の無理数乗なのです。
ルート2のルート2乗が超越数であることはわかっている事実なんだそうです。
ということは、超越数の無理数乗が有理数である可能性が十分にあるんだそうで

じゃあ超越数の超越数乗は有理数になりえるの?
って言われたらコレだそうです。あーこれかー俺の隣で寝てるわー
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

先日、放送大学をかけたら「双方向キュー」というものをやっていて、
双方向キューの一部を隠せばキューになるし
他の部分を隠せばスタックになりますよー
という、そんなお話のモデル説明gifアニメを、自分でも作りたくなったのです。

双方向キュー(クリックで拡大
↑コレが双方向キューで、
ただのキュー(クリックで拡大 スタック(クリックで拡大
↑こう隠せばキューになって    ↑下部分を隠せばスタックだよーと。

 



まあなんかところどころ変ですが。

元々は、トムボーイとかスリンキーに似てるなぁって思ったのがきっかけでした、書くの忘れるところでした。



そういえばeucをcueと空目してた気がします。
qのあとにuは欠かせないのでqueはいいとしても、なぜueの次にueをもう一回重ねなければならないのか
そして待ち行列は行and列なのか行or列なのか、それとも行xor列なのか。
国際的に紛らわしかったことがわかりました。


ところで物事には時間的な順序と論理的な順序がありますが
この両方の順序が実は2次元以上で、同じだったり異なったりしたらどうなるんだろう
と、想像もできないようなことを想像しようとして、できませんでした。
とりあえず、3次元空間の中を2次元で順番に行うわけだから、巡回セールスマン問題的に考えて手軽さは減るんじゃないかみたいな、でも実はそれは2次元空間内を1次元の時間で動いてるのとなんら変わりないのではないか、みたいな。クワガタ
ブログランキング・にほんブログ村へ
にほんブログ村
リボーの法則。我々の記憶領域はスタックだった!リボルバーなのにキューじゃなくてスタックなのか!?

拍手[0回]

代数方程式に分類したくないですよねー
1.5次方程式なら実質3次方程式なのでまだしも
1.2次式なんか実質6次方程式ですからねー

近似的に1.666666・・・次方程式とかも嫌ですね
3分の5次式って書いてくれてもお断りですよね
360進法で書かれても困りますよね、うん

気分的には超越方程式ですよね ぇ ぇ ぇ ぇ ぇ


√2次方程式、φ次方程式、ω次方程式、12分の1オクターブ方程式・・・あーあー聞こえない


あ、そういえばこないだ何かの都合で、圏論っちゅうのがあるってことを知りました。
容量オーバーなのでとりあえず放置!
ブログランキング・にほんブログ村へ
にほんブログ村
ホワイトチョコとか好きですよ。黒よりも好きです。
好きなラーメンは断面が真円をしてないカップヌードルです。
ビーカーに入れて、安心アルコールランプであぶって、僕、ラボメン!

拍手[0回]

野中藍さんが相変わらず現役なのが嬉しい上司きのこですこんばんは。


ところで行列というと大多数の人にとっては「行or列」なんですが
どうもしっくりこなくてですね「行and列」だと思いたいんですよ。


しかもこの「行or列」の「or」のことも、大多数の人は「xor」のことを「or」だと思って使ってることのほうが多く、大変嘆かわしくもないんです。僕だって曖昧ですから⊂^!^⊃


このxor、実装されてない場合は作るしかないんですが
加法標準形で
xor(ぎ、ツ)=ぎ*シ+ざ*ツ
でもいいですし、乗法標準形で
xor(ぎ、ツ)=(ぎ+シ)*(ざ+ツ) 
でもいいですよね。

※ただし「ぎ=行」、「ツ=列」、「ざ=NOT(行)」、「シ=NOT(列)」と定義する。

と、ここでカッコつけるのがちょっと嫌だなーって気になったので
先日スタックを使って理解したばっかりの逆ポーランド記法を使って表現してみますと


xor(ぎ、ツ)=ぎシ+ざツ+*

になりますね。


ここで、NOT演算のことが気になったんです。
NOT演算って単項演算子じゃないですか。逆ポで単項演算子ってどうするんだろう?って思ったんですよね。


ちょっとぐぐってみたところ、「足す」、「引く」を二項演算子と見なす場合、
符号反転を意味する「マイナス」としての単項演算子は、二項演算子の「引く」とは別の記号を用いなければならないようです。

同様に、逆数を意味する「スラッシュ」としての単項演算子があった場合、それも「割る」とは別の記号を用いなければならない、というわけです。

もし、これが完全に機械語でしたら、あるいはすべて加算と乗算で行ってしまうことにして
減算と除算を2の補数表現とかビットシフトとかそういうので補うのだとしたら
減算と除算の記号は「符号反転」と「逆数」の単項演算子の1種類だけで済むますけども・・・。


これをxorに応用すれば
ざ=NOT(行)=NOT(ぎ)=-行であるし
シ=NOT(列)=NOT(ツ)=-列なので

逆ポの乗法標準形は
xor(行、列)=ぎし+ざつ+*はもっと簡潔かつ明瞭に
xor(行、列)=行列-+行-列+*

とできますよね。



やーそれにしても有限の桁(規格化)で有限の量子化(デジタル)ってのはある意味で素敵な不完全だと思いませんか?!そうですか・・・。
すべての演算、関数に対してシラミつぶしができるんですから!
なんかゼット変換を思い出すなぁ。覚えてないけど!
こっちの世界での離散化はデジタルワールドにおける周期化で
こっちの世界での周期化はデジタルワールドにおける離散化なんですよ!

ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

バイバイン乗フィボナッチ 
一番上、左辺が2つの黄金率(x^2-x-1=0の解2つ)なんですけど
ルート(「平方」根)だけが入った多項式なので、2乗しても2項で済むんですね
そうやって2乗をさらに2乗・・・としていくと128乗、つまり128番目のフィボナッチ数列の種までがたった6回の手計算で行えちゃいまして

しかも2乗する際のルールが、
ルート入り多項式を2乗するときのアルゴリズム例 
・1項目:元の2項目の2乗に5をかけて1項目の2乗に足して2で割る
・2項目:1項目×2項目

種からフィボナッチを取り出す 
と、至極単純であり、
この「種」からフィボナッチ数列を取り出す際も、2項目の分数やら√5やらをバッサバッサちぎっては取っ払った整数がそのまんまフィボナッチ数列というなんとも単純明快なものなので

0番目:0

1番目:1
2番目:1
4番目:3
8番目:21
16番目:987
32番目:2,178,309
64番目:10,610,209,857,723
128番目:251,728,825,683,549,488,150,424,261

と、あっさり計算できてしまうわけです。

最後のあたりでExcelの計算限界に達したので電卓の力を借りました^^
電卓の限界がいまいちよくわかりませんw
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

電卓の有効桁数がExcelより多いExcel:ふぃぼなちってない  電卓:ちゃんとふぃぼなちってる 

超える日っちゅうか一時的に超える場合があるよってだけですが
ところどころExcelは電卓の上位互換だったり下位互換だったりって当たり前なんですけどね。
120番目くらいまでいけるみたいです。
5,358,359,254,990,966,640,871,840

ちなみに、このくらい数が大きくなると
黄金率:φ=(1+√5)/2として
Fn=[φ^n-(-1/φ)^n]/√5の2項目がほとんど意味をなさなくなって
Fn≒φ^n/√5になるんですよね。電卓で打つのが楽になりますw

ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

フィボナッチ数列の漸化式と一般式の誤差 
囲った部分、途中からフィボナッチになってないの図

Excelの限界を示したつもりが、逆に浮動小数点の化け物じみた正確性を示すことになってしまったでござる
フィボナッチ数列の漸化式と一般式、間違えるところも、間違え方もまったく一緒wこりゃすげえ
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

フィボナッチ数列(クリックで大きいのが見れます)  
これ以上桁が大きいと精度を維持できないとかいう・・・
πでやったけど、有効数字15桁同士の浮動小数点を重ねるシステムの構築とかもうやだ(´・ω・`)
当時は非オブジェクティブだったけど、仮にオブジェクティブにできるようになったとしてプログラミングそのものがイヤダ (´・ω・`)
早く恐怖症を治したい・・・かも?
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

さらばー宇宙よー


いや~すっかり1ヶ月以上放置してしまいました><
先日まで、画像も出さずにコソコソと、波動方程式の数値シミュレーションを行って
やったらボソボソとロビン境界条件の条件が求まらないとかなんとかブログに書いてきましたが

我が希望的観測日記ブログ枝部が目指しているのはこんなんじゃありませんのだ!ヽ`д´ノ

僕がなぜ、Excelでのシミュレーションにこだわっているのか!?
それは!プログラミングが怖いからだ!
複雑さを積層していくプログラミングのあり方にウマシカがあるからなんだよ!!!ソースコードらしき書体すらアレルギーなんだよ

だからこその非積層型、いつでも気軽に組み立てられる平屋のシミュレーションをやってきたはずなのであって
このブログで技術を積層化してしまったら意味がないではないかー!



=======
以前、「反射の観点から見た直流のインピーダンスマッチング」というテーマでですね、ブログを書いたことがあったんですよ。

直流を波動として見ると・・・?
なぜ、電源の内部抵抗と負荷の抵抗値を同じにしなくてはいけないのか?

理由:
電源電圧Vと、内部抵抗r、負荷Rがただ直列につながった単純な回路で
Rでの消費電力を最大にするには
 r=Rにおいて、P=V^2/(2R) で最大


そのこころは
Rで消費される電力PはRの関数にすると、
P=(R/(r+R)・V)^2/R=RV^2/(r+R)^2 
Pの逆数をRで微分して0になったところが消費電力の最大値なので
 W=1/P=(r+R)^2/R=(r^2+R^2+2rR)/R=r^2/R+R+2r  dW/dR=-r^2/R^2+1=0   
 をRについて解くと、R=r(R=-rなんて物理的にムシムシ!)

以上。
直流の観点から見ると実に簡単です。


しかし、どうして半分の電圧相当しか供給できないのか?


ということで、直流のスイッチを入れた瞬間、つまりステップ関数をめっちゃ細かく見たらどうなるだろう?
ちゅうのがコレだったのです。

負荷短絡の極性反転反射
負荷開放の極性非反転反射
負荷を鏡に見立てて
短絡だと反射波の符号が反転するから、負荷では節(ディリクレ境界条件)が維持され
開放だと反射波の符号が反転しないから、負荷では腹(ノイマン境界条件)が維持されるわけです。


この画像を作ったときは、まだ波動方程式のマックスウェル版といいますか、
シュレディンガーじゃないほうといいますか、そういった波動方程式の数値解がまだ用意できなかったんですね
で、用意したのが以下になります。
 負荷短絡回路 
負荷短絡:ディリクレ:節:波動方程式の数値解
↑ディリクレ

↓ノイマン
負荷開放回路
負荷開放:ノイマン:腹:波動方程式の数値解



お気づきのように、進行波と反射波に分けることがまだできていないんですよ・・・
これを満たす境界条件はインピーダンス境界条件とか、ロビン境界条件とか呼ばれてるらしいんですが
びっくりするほどこの境界条件の数値解析の具体例が見当たらないんですね。


 そこで、先日の日記のように自力で解こうと思ったんです。
解いてみて思ったんですが、ロビン境界条件って需要がないから書籍にされないんじゃないでしょうか・・・

どうしても反射するなら、反射する手前で止めときゃいいじゃない的な。

十分に長い領域を確保して、端まで伝搬する前に、端っこの手前までを表示すればそれで済むことなんじゃないかな
って思えてきたんですよねー・・・


微分方程式を差分として解く際の境界条件は、波の振幅をuとすると
ディリクレ条件は端っこでu=0
ノイマン条件は端っこでdu/dx=0なので、x=0を端に見立てると(u1-u0)/Δx=0なので、u1=u0

たったこれだけです。

ロビン境界条件にしても
ディリクレとノイマンの線形結合なので、結合係数をa、bとして
au+bu'=0
差分表現だと
au0+b(u1-u0)/Δx=0 なのでu0について解いて
a*u0*Δx+b*u1-b*u0=0u0とu1の項に分けて
u0(a*Δx-b)+b*u1=0 u0の式にして
 u0=b*u1/(b-a*Δx) 
 これだけです。


でもこのaとbがたいていは関数ってwikiに書いてるところが曲者なんですよねー
おそらく、周波数成分に分けてからフーリエ級数展開しろって言ってるんだと思うんですよ
周波数ごとにaとbが変わってくるんですよねー
じゃあ「周波数」と「領域の長さ」と境界条件の三つ巴の戦いになるじゃないですか
 それを解くために伝送線路やら分布定数線路の条件を解いてたわけです。


入力インピーダンスの規格化:zi=Zin/Z0
負荷インピーダンスの規格化:z=Zl/Z0とすると(特性インピーダンスで規格化すると大文字が小文字に!)

zi=(1+j(ztanβl)^(-1))/(1+jztanβl) 
 波数β=2π/λ、波長λと周波数fの関係は波の速度をcとして、c=fλ、jは虚数単位、Lは領域の長さです

 この式でマッチングが取れてる条件はzi=1なので分母=分子が条件 (純拠数部分が同じ) となって

  (ztanβl)^2=1ztanβl=±1
 これを満たすzとβはz=1(Zl=Z0)かつβl=nπ/4
条件は2つ
・ 領域の長さが8分の1波長の整数倍
・負荷インピーダンスZl=特性インピーダンスZ0
ってことになります。


これで周波数に当たりをつけることができたため、
あとは領域の長さと境界条件を戦わせるだけになりました。
ディリクレとノイマンの結合比は、aとbとはなっていますが片方を固定して片方を動かせばいいので、
領域とbを固定すればaだけ動かして見ればすむはずです。


1発だけのsin波をぶち込んで試してみたんですけどねえ
差分法の精度が緩すぎるのか、なんかそれっぽいところに行けばいくほど気持ち悪く波が乱れるんですよー

でも、この領域の中途半端な部分を端っこに見立ててもいいんじゃないか?ってことがわかったっぽいので
まあ有意義だったんでしょう。

循環参照を使った差分法の(陽)解法 
計算は至ってコンパクトに収まっていますよ。
ほらこのように。
詳しくはコチラからExcelファイルDLでお願いシマス!TーT(ドヤァ・・・
(循環参照を使っているのでツール→オプション→計算方法→反復計算→ON
最大反復回数=1、変化の最大値=0.001にしてください)

0~20までの21個の領域で、右端と左端に境界条件を設けてます。
縦は時間で、t=0と1が初期条件、スイッチを押した瞬間はt=0と1を参照したt=2と3で計算し
あとはt=2と3を参照したt=4と5で2、3と4、5を循環参照させます。



ちなみにここで、ノイマン条件かディリクレ条件かを選べるのは右端だけです。
左端からはステップ関数が入ってるので、いわばステップ関数というディリクレ条件オンリーなわけですよ
だから左端は必ずu=1の節にならざるを得ないというわけです。
↓の周期が2往復分になっているのはそのためです。
負荷開放:ノイマン:腹:波動方程式の数値解

この、進行波だけを見るためには、反射する前を見ればいいので、こうなります
横幅を狭めて見てるだけです。時間も途中まで。

r=R(電源の内部抵抗=負荷抵抗)
擬似的ロビン境界条件(マッチング取れてるつもり 
つまり、開放したときに反射して戻ってきたのも「込み」で、”電圧1”として見ていたから
マッチングが取れた「進行波だけ」だと半分に見えていただけ
なのです。


まあ、ステップ関数だけだとつまらないと思いますので、正弦波入力もしてみましょう
発振回路と負荷をつないだ回路(超簡略) 
左端にゼロ抵抗のLC共振回路があるような感じだと思ってください。
反射して定在波が立っているのがわかると思います。

ディリクレ(負荷で節:電圧だと短絡、負荷抵抗=0)
ディリクレ条件に正弦波入力


ノイマン(負荷で腹、電圧だと開放、負荷抵抗=∞)
ノイマン条件に正弦波入力

その他条件:負荷電圧が節でも腹でもない(でもマッチング取れてるまでいかない)
 その他条件(何らかの抵抗orインピーダンスが負荷に入っている状態?) 



結局、このシミュレーションで、ロビン境界条件の係数aとbが、どのように特性インピーダンスと関連しているのかはわからずじまいでした。
そもそも、どこに特性インピーダンスを設定する項目があったのか、自分で作っていてわからないんですよ・・・だから理論的にズボシーって華麗に決めることが出来ず、aを逐次変えて模索する他なかったのです。



クーラン数(ズ) ゲート
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

昨日は頭痛の中、波動方程式の数値シミュレーションにおけるインピーダンスマッチングを行っていてブログ更新とかもろもろ置いてけぼりになってしまいました。


波動方程式ですので当然波になるわけです。
そうするとおのずと反射が気になるわけですよ
進行波に反射波があると定在波になってしまうので
この反射波をなくすために、境界条件を特殊なものにしなければならず
端っこがいわゆる波の「腹」になるノイマン条件と、波の「節」になるディリクレ条件の間を取ってやらんといかんわけです
それが、位置による0F(ゼロ階)微分(ディリクレ)と1F(1階)微分(ノイマン)を線形結合したロビン境界条件というものでして(混合境界条件とは異なります)
しかしながらこの結合の割合をどうしたらマッチング取れたシミュレーションになるのかが
なかなか探してもいい資料に出会えないので


分布定数線路伝送線路から当たりをつけてみることにしました。
おそらく、伝送線路の入力インピーダンスと負荷インピーダンスが特性インピーダンスと等しくなる条件でマッチングが取れるのだと思うので、
未知数であった「領域の長さ」「振動数」「条件の割合」の三角関係のうち前者2つの関係は解決しそうな感じです。(1/8波長)

問題は、シミュレーションの定数に、基本的には波の伝搬速度しか与えてないのに
この系からどうやって特性インピーダンスが算出されるのか、です。


ここがよくわからないので、
とりあえずノイマンとディリクレの結合比を変えてトライアンドエラーしつつ、
最適解が見つかれば、それにあとからもっともらしい理屈付けをしてやる
と、そんな感じになればいいなと思っています。

Excelの循環参照と差分法の陽解法を使ってきましたが、マッチングが取れる界隈に近づく(たぶん)ほど波がぐちゃぐちゃになるように思えるのは必然なのか偶然なのか
これは、循環参照と解除して、陰解法に手を出したほうがいいかもしれませんねえ
精度が足りないような気がします。



ところで、ロビン境界条件の使い道はどうも、波動方程式よりも熱の伝達、とりわけニュートンの冷却の法則界隈みたいですね
波動方程式は解析的に解けるから用済みといった感じなのでしょうか
ニュートンの冷却の法則は以前、冷蔵庫の消費電力の測定絡みで少しだけかじったことがあるのでまだいいのですが
熱力学全般苦手です><
なので熱力の言葉で書かれると何が書いてあるのかよくわかりません



そういえば
今は入力信号をパルス波ではなく正弦波にして、あとからフーリエ級数展開で合成してパルス波にしようと思っているのですが
元々フーリエ級数展開が生まれたきっかけも、電気ではなく熱力学からの需要だったようですね

ドラクエ回転ドーナツ世界地図 横回転ドラクエ回転ドーナツ世界地図 縦回転


文字ばっかりなのもアレなんで
以前のドラクエドーナツの日記に追記した画像を上げておきますね
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

数値解析の本をいくつか読んでます。
「数値解析」と名のつく本でも結構色々バリエーションありますね

最初から偏微分方程式の数値解を扱ってるものもあれば
ニュートン法や二分法、数値積分のやり方から始めている本もあって
戸惑いながらも納得のバリエーションでした。


偏微分方程式の数値解法は僕は素直に差分法しかしらなかったのですが
名前だけ聞いたことが合った有限要素法のほかに、境界要素法なんてのもあるようですね


表面だけを扱って次元を1つ落としてシミュレーションができるという強みはあるものの
はたから見ると弱点ばかりのように見えなくもないです^^;

ねぷたとねぶた はたからはたをみる(月面着陸)

ちょうど先日計算していたフラーレンを思い出しました。
なんというか、計算してみればあっさり終わってしまった印象があったのです。
なんというか思ったより浅かったというか。
それもそのはず、このような多面体には文字通り表面しかなかったわけです。どおりで薄っぺらいはずですよ



ところで、差分法について調べている最中、どうして行列を駆使しているんだろう?
という文脈がどの本にも出てきていて驚きました。

僕の知っている差分法と違う。
と思ったら、差分法には陽解法と陰解法があって
僕はその陽解法しか知らなかったらしいんですね


おそらく、おそらくですが
差分法にした時点で微分方程式が連立方程式になるわけですよ
それを逐次ではなく行列方程式にしていっぺんに解いているのが陰解法なのでしょう。



まあ、当面は差分法の陽解法にしか興味出なさそうな気がします。はい
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]



忍者ブログ [PR]
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析