単結晶構造解析 フラック変数 解釈

このQ&Aのポイント
  • 単結晶構造解析の指標であるフラック変数の解釈に困っています。絶対構造の確認についてご助言ください。
  • フラック変数の値が0.001(10)の場合、絶対構造が正しいかどうか疑問です。フラック変数の判定基準について教えてください。
  • 私の解釈では、フラック変数が0.001(10)を満たす場合、絶対構造は正しいと考えていましたが、判定基準についてのご意見をいただきたいです。
回答を見る
  • ベストアンサー

単結晶構造解析 フラック変数 解釈

絶対構造確認するための指標 フラック変数の解釈に困っています。 ご存知の方よろしくお願いします! ものの本によると σ(x)<0.04 |x|<2σ(x) だと絶対構造が正しいそうです。 私が出した値、フラック変数が0.001(10)となる場合 1行目は、σ(x)=0.001±0.01 なので十分判定が強く 2行目は、|0.01|<2(0.001±0.01)と考えて判定は強くない、 絶対構造は間違ってる可能性があるという事でしょうか・・・ 個人的には1行目を満たしただけでも十分なのでは?と思っています。 そもそも私の解釈が間違っているのかもよく分かりません。 ご助言どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • phosphole
  • ベストアンサー率55% (466/833)
回答No.2

なお、質問者さんのデータは非常に綺麗に0になっているので、これで文句を言われることはないでしょう。 ちょっと計算してみると、誤差を大きめに見ても、フラック定数はせいぜい0.01~-0.009程度です。明らかに0とみなして問題ありません。

blanka0514
質問者

お礼

ありがとうございました!

その他の回答 (1)

  • phosphole
  • ベストアンサー率55% (466/833)
回答No.1

二行目、数値が逆では? フラック定数xの絶対値が、分散の2倍より小さいということですよね? それなら条件は満たしていますが。

blanka0514
質問者

お礼

ありがとうございました!

blanka0514
質問者

補足

|0.001±0.01|<2×0.01 0.009<0.02 0.011<0.02 確かにこれだと範囲内ですね 表記の仕方の意味からわかっていないようです。。

関連するQ&A

  • 単結晶X線構造解析 フラック変数 解釈

    最近単結晶X線結晶構造解析をはじめた者です。 よろしくお願いします。 絶対構造を確定するためのフラック変数の解釈に困っています。 絶対構造を決定するためにはσ(x)<0.04 、|x|<2σ(x)だそうです。 私が解析したフラックの値は0.001(10)です。 0.001という値がσ(x)にあたるのかなと思っていますが(10)は何でしょうか。 標準偏差?、(10)は値の振れ幅のような気がしていますが、分かっていません。 ご指導よろしくお願いします。

  • C#でプロパティをもつ構造体型の変数を使う

    C#のプログラム struct S { public int A; } class Program { static void Main(string[] args) { S z; z.A = 0; } } には文法エラーはありません。 ところが、構造体の定義を struct S { private int a; public int A { set { a = value; } get { return a; } } } に変えると、Mainメソッドの z.A = 0; の行で 「未割り当てのローカル変数 'z' が使用されました。」 のエラーが出ます。 その上の行を S z = new S(); に変えれば、このエラーはなくなります。 このエラーはどうして出るのでしょうか。 なお、 S[] x = new x[10]; のように、構造体の配列にすると、(配列要素には値が割り当てられてはいないのに、) x[0].A = 1; としてもエラーは出ません。

  • C,C++,Javaの変数の種類

    クラス、構造体の変数の中で外部からアクセスできないという設定があります。アクセスできないというのは、 0.値を見ることができるが変更はできない(定数のような感じ? 消費税率とか?) 1.値を見ることはできないが変更することはできる(銀行預金額面風?) 2.値を見ることも変更することもできない (どう利用するのでしょうか?) にわかれるように思います。もし2ならば、その変数は構造体、クラスの外部に影響を与えないように思います。すなわちそのような変数の使用が何を目的としているか不明になるように思いますが。 例えば、Xを2の意味で隠蔽していたとします。 Yを与えて、Z=Y*Xを計算し、Zの値を取り出すと、Xの値が間接的にわかることになります。これだと変数を隠蔽したことならないのでこのような使い方もエラーになるだろうと思いますが。 すなわち、アクセスできないとはどういう意味になるのでしょうか。 C,C++,Javaを同時に見ており、private, staticなどいろいろあって混乱してしまいました。 変数のアクセス制限・隠蔽についてどのように整理すればよろしいでしょうか。 よろしくお願いします。

  • ソート中に生じる変数の値の変化

    C言語でソートを用いるプログラムを作成しているのですが,ソートを行った前後で,一部の変数の中身が勝手に書き換えられてしまっています. 例えば,int型で宣言されたix,iy,izという変数の中に格納された値は,ソートには何の関連性をもっていないにも関わらず,ソート後には全て同じ無茶苦茶な値に書き直されます.しかも,何故かこれ等の変数をグローバル変数にした途端に改善されました. ●何故この様な現象が生じてしまったのでしょうか? 加えて,少し類似した症状が,ソートの対象とする構造体にも観察されます.構造体のソートに使う変数自体に変化は見られず,ソート自体も正常に機能していることが確認されているのですが,構造体の他の一部の変数(double型)の値の一部分が0と1072693248に書き換えられます. ●この症状は一体何が原因で,どう改善すれば良いでしょうか? 幾分全く原因が分からない為,質問文自体もかなり曖昧になっていますが,宜しくお願いします.

  • 変数に入れた文字列をindexOfで解釈したい

    すみません、質問したいと思います。 自身のURLを参照して、それを変数に格納し、その文字列中にある #の位置をindex.Ofで解釈したいと思います。 なので、以下のようなjavaScriptを書いたのですが、うまくいきません。 なぜでしょう、よければ教えてください。 <script language=javascript> var loc = this.window.location; var sharp_pos = loc.indexOf("#");//#がなければ-1を返す document.write(loc); </script> 以上のものを実行したら、URL中の#の位置がブラウザ上で数字で 確認できると思ってたのですが・・・。 javascriptって、変数に格納した文字列は解釈できないのでしたっけ? perlだったら出来てたような気がしますが・・。 本を見たら、直接文字列をいじっているサンプルしかありませんでした。  "abcde".indexOf("c"); ⇒2を返す よろしくお願いします。

  • 変数と定数について

    とても基本的な質問ですが、質問・確認させていただきたいです。 変数と定数の違いについて 例⑴ x,y:変数 a,b,c,m,n,l:定数とするとき、 y=f(x)=ax²+bx+c ・・・① y=g(x)=mx²+nx+l ・・・② の2つの放物線の形が違う2次関数があるとする。 ①と②は共に「y= より①と②は常に同じ値yである」ということにはならないですよね。 ですが、これが 例⑵ s:定数(x:変数 a,b,c,m,n,l:定数 ) とするとき、 s= ax²+bx+c ・・・③ s= mx²+nx+l ・・・④ と表すと、 こちらは有無を言わさず(?)「同じ文字である」=「同じ値sである」となり、xが決まります。 これは『変数y』と『定数s』の違いということでしょうか。 変数において「同じ文字である」=「同じ値である」とは言えないということですよね。 例⑴で変数y消去して①=②にする時は、y=p(p:定数)が存在するという扱いにして計算を進めているのでしょうか。 変数を文字消去する時(代入・足し引きして)は、その消去する変数をどのように扱っているのでしょうか。 初歩的な質問ですが、どなたかよろしくお願いいたします。

  • 構造体の変数の値を、動的に取得する方法を教えてください

    C言語で、構造体の変数の値を取得したいのですが、その際、 他の変数に格納してある文字列を元に動的に行いたいのですが、可能でしょうか? イメージとしては、 struct Entry{ char name[20]; char address[80]; char email[40]; }; struct Entry data; strcpy(data.name, "Taro"); strcpy(data.address, "Tokyo"); strcpy(data.email, "taro@taro"); char var_name[20]; strcpy(var_name, "email"); printf("%s", data.var_name); ↑この行の構造体の変数へのアクセス方法が間違っているのはわかっていますが、このような時に「taro@taro」と出力させたいのです。 var_nameの値を「name, address, email」に換える事により「Taro, Tokyo, taro@taro」と出力を切り換えたいと思っています。 普段は他の言語をよく使用しており、そちらではこの手法を時々使っていたのですが、C言語でも出来ないものかと思っております。 よろしくお願いします。

  • プログラムの組み方が分かりません。

    ある課題で以下の問題が出題されました。 >>>> 2つのint型変数x,yにキーボードから値を入力し、その大小を判定する関数funcを作成せよ。この課題では、大きいと判定された数が代入された変数のアドレスがmain関数に戻されるものとする。 ============ #include<stdio.h> int *func(int *a,int *b) { /* 2つの値の大小判定を行い、アドレスを返す */ } main(void) { int x, y, *z; /* 変数 x,yにキーボードからデータを入力する */ /* 関数funcの呼び出し */ /* 変数zを用いて値の出力を行う */ } ============ <<<< 2行目の*funcというように、関数の頭に*が付くプログラムは初めてで、 どういう意味かもさっぱりわかりません。 それも含め、この問題はどういう風解けばいいのか、教えてください。 お願いします。

  • 静的変数の現在溜まってる値を知る方法

    Sub 静的変数() Static x As Long x = x + 10 MsgBox x End Sub このプロシージャーを実行するとXの値がどんどん加算されていきますが マクロを実行してない時にxの値を取得する方法はありますか? スッテプインやウォッチウインドウで確認すれば、マクロ実行中にxの値を確認できますが マクロを実行してない時に調べる方法があれば教えてください。 ちなみにウォッチウインドウで見てみると 値は<対象範囲外> 型はEmptyとなります。 (もしマクロを実行してなきゃわからないというのであればそれでも大丈夫です)

  • 変数の値の確認方法について

    Visual Studio 2010 Express WIN32 ユニコードビルド C言語 でプログラムを勉強中なのですがデバッグ中の変数の値の確認の仕方でわからないことがあります。 下のようなプログラムを作りx=HIWORD(lParam)*2;の次の行にブレークポイントを設定しました。 この式に*2がなければxを確認すればすむ話なのですが右辺に複数の値がある場合はHIWORD(lParam)の値が確認できません。 ブレークポイントで止まった時に(lParam)の上にカーソルを移動すると32637974と表示されxの上では996と表示されました。 たぶん右側はlParamの上位ワードを取り出す前の値が表示されているのだと思います。 HIWORD(lParam)の値を事前に変数に代入していない状態で、デバッグ中に上位ワード取り出し後のlParamの値を確認する方法がありましたら教えてください。(例えばxが496でHIWORD(lParam)が32506902と表示される場合に、右のHIWORD(lParam)の上にマウスを移動すると496と表示されるようにする方法) LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { static int x; switch(message){ case WM_CREATE: break; case WM_SIZE: x=HIWORD(lParam)*2; break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,message,wParam,lParam); } return 0; }