• 締切済み

認知言語学の参照点モデルについての質問

 認知言語学の参照点モデルに関して質問です。山梨正明先生は「参照点起動の推論モデル」というモデルを自著の中で展開されていますが、そのモデルの中に登場する「Mi」「Mj」が何の略語なのかがどうしても分かりません。特に「i」「j」の部分です。Langackerの参照点モデルに関しての図にもやはり「RPi」「RPj」のように「i」「j」が出てきますが、同様に解読できません。論文のためにどうしても必要な情報なのでとても困っています。どうぞ、よろしくお願いします。

みんなの回答

回答No.1

i や j は何かを省略した記号ではありません。 参照点が複数あるとしましょう。 RP1, RP2, RP3, RP4, ..., RPn, RPn+1, RPn+2, ..., このうちの任意の二つという意味で、RPi, RPj と表記しているだけです。 特に指示がなければ、i≠j なので、RPi と RPj は二つの異なる参照点と言うことになります。 なんで i とか j とか(必要なら、k とか l とか m とか)なのかというと、数学などで、定数は a, b, c, 変数は x, y, z, でしょ? 任意の数はしょうがないから、真ん中のアルファベットを使っただけです。 記号論理学とか、意味論とかではよく使われるのですが、見たことありません? たとえば、次の文で、「太郎i」「自分i」は「太郎」と「自分」は同一指示であることを表し、「太郎i」「彼j」は「太郎」と「彼」が違う人物であることを表します。 太郎iは 自分iの部屋に 行った。 彼jは 太郎iの部屋に 行った。

rufasrufas
質問者

お礼

 丁寧なご回答、本当にありがとうございました。ずっと考えていたので、すっきりしました。正直、勉強不足でした。それにしても、感謝感謝です。

関連するQ&A

  • C言語での質問

    プログラミングの課題をやっているのですが、一部どうしてもわからないことがあるので質問させて下さい。 課題では100個の点のX座標、Y座標を0から5の間でランダムに設定し、ファイルに書き出すといった内容なのですが、この点を設定した時、任意の2点のX座標、Y座標の差が0.01以下になる場合は設定し直さないといけません。 これは後々の課題に関係してくるから、みたいなのですが。 そこで点の設定の関数として以下のようなプログラムを考えてみました。(ちなみに構造体pointを前に宣言してあり、p[].xは点のX座標、p[].yは点のY座標です。また、NUM=100と最初に宣言してあります。) void tensettei(point p[], int num){ int i, j, k; double sa; for(i=0; i < num; i++){ p[i].x = ((double) rand()) / ((double) RAND_MAX) * 5; p[i].y = ((double) rand()) / ((double) RAND_MAX) * 5; } for(j=0; j < (num - 1); j++){ for(k=j+1; k < num; k++){ if(p[j].x > p[k].x) sa = p[j].x - p[k].x; else sa = p[k].x - p[j].x; if(sa < 0.01) tensettei(p, NUM) } } for(j=0; j < (num - 1); j++){ for(k=j+1; k < num; k++){ if(mp[j].y > mp[k].y) sa = mp[j].y - mp[k].y; else sa = mp[k].y - mp[j].y; if(sa < 0.01) tensettei(p, NUM) } } } しかし、実行してもエラーが起こったのかすぐに終了してしまい、この後に点データを出力するプログラムを書いているのですが、ちゃんと出力されません。 いろいろプログラムを変えて試した結果、原因は「tensettei(p, NUM)」にあることはわかりました。 それさえ変えればすればうまく動作しましたので。 再帰と同じ感じでいけるかと思ったのですがどうやら駄目のようです。 そこで質問なのですが、ループの中である条件が起こったら最初からやり直し、てなプログラムはどんな風にすればいいのでしょうか?

  • C言語 格子点が多角形の中にあるかどうか?

    こんにちは. 私はプログラミングを勉強しはじめて3ヵ月くらいです. 今、与えられた多角形(例えば、(0,0),(3,7),(5,7),(8,3),(4,1),(1,0)の五点からなる多角形)の内部に格子点が存在するかどうかをチェックする(存在すれば1を返す等)ということをプログラミングを利用して,解決したいと思っています.最終的にはそれを利用して与えられた多角形をビットマップ表示にすることが目的です. 現在ある一つの自分の決めた点に関しては与えられた多角形を打ち込むことによって中か外かを判定する関数はできているのですが、100×100個の計10000個分の格子点に関してすべて中にあるか外にあるかを判定したいのですが、なかなか上手くいきません. 分かる方いらっしゃいましたら、アドバイスやプログラムの方よろしくお願いします. 今できているプログラムをのせておきます. #include <stdio.h> #include <stdlib.h> /* #define JUST_ON 2 */ #define JUST_ON 1 int insidePolygon(int x, int y, int pn, int *px, int *py); int insidePolygon(int x, int y, int pn, int *px, int *py) /* x and y are the vertex I want to know in polygon. pn is the number of vertex of polygon *px and *py are the vertex of polygon */ { int i, j; int inside; double yy; if (pn < 1) return 0; if (pn == 1) return x==px[0] && y==py[0]; /* Point (x,y) just lies on the edge or vertex of polygon */ for (i = 0, j = pn-1; i < pn; j = i++) { if (py[i] == py[j] && y == py[i] && ((px[i]<=x && x<=px[j]) || (px[j]<=x && x<=px[i]))) return JUST_ON; else if (py[i] != py[j] && ((py[i]<=y && y<=py[j]) || (py[j]<=y && y<=py[i])) && x == (double)(px[j]-px[i])*(y-py[i])/(py[j]-py[i])+px[i]) return JUST_ON; } /* Point (x,y) is inside/outside polygon */ inside = 0; yy = y + 0.5; /* shift y to avoid acrossing the poly's edges or vertices */ for (i = 0, j = pn-1; i < pn; j = i++) { if (((py[i]<=y && y<py[j]) || (py[j]<=y && y<py[i])) && x < (double)(px[j]-px[i])*(yy-py[i])/(py[j]-py[i])+px[i]) inside = !inside; } return inside; } int main() { int ii; int xx, yy; int pnpn; int pxpx[100], pypy[100]; int ret; printf("Enter (x,y) of a point -> "); scanf("%d %d", &xx, &yy); printf("Enter the number of vertics of the polygons -> "); scanf("%d", &pnpn); for (ii= 0; ii < pnpn; ii++) { printf("Enter %d-th vertics's (x, y) -> ", ii+1); scanf("%d %d", &pxpx[ii], &pypy[ii]); } ret = insidePolygon(xx, yy, pnpn, pxpx, pypy); if (ret == 0) printf("The point is outside the polygon.\n"); else printf("The point is inside the polygon\n"); }

  • Excelで多重参照したい場合のやり方について

    まずは画像を見ていただきたいのですが ◆やりたいこと説明◆ ・C2(赤マス)にB2の文字列を参照してI2~I6を参照(リストにしての入力)をさせたい場合どうすれば良いのか? IF関数でできるのか? Excelでできるのか? ・A2(ピンクマス)は入力規制でK2~K6のセルリストを参照し入力されてるものとする。 その場合A2とB2を参照して一致してる場合はC2(赤マス)にJ2~J6のリストされたものの中から選ぶ。またA2とB2を参照して一致していない場合はI2~I6のリストされたものの中から選びたい場合はどうすれば良いのか 最終的にやりたいことは書いても分かりにくいかもしれませんが、リスト入力したものの中から更にリスト入力していきたい的なことです。 例)1~5までをリスト入力でD2に書きD3にはD2セル参照し一致したときは10~50のリストの中から選びD3セルに入力する的なこと 例なのでやりたいことはいろいろありますがこんな感じです。 いろいろ調べているのですが、検索例が間違っているのか私は「Excel 多重参照」と検索してみたり 関数を使って試してみたり、独学ですのでちゃんと基本が分かってないのかもしれませんが図書館等を使いVBやエクセルの本でも読んでいるのですが、こう複雑な処理については殆ど本では載っていなかったので今はネットで探しています。 質問内容については自分がしたいことがExcelでできるのでしょうか。またできるとしたらどのようなサイトを使ったらよいのか、または検索後はどのようなことで検索された方が良いのか、 できればやり方を詳しく教えていただきたいです。 もしできるならばやり方もしくはサイト名や検索方法等教えて頂きたく質問させていただきました。

  • 相互誘導回路でコイルの向きを表す点について

    図が書けるといいのですが…,相互誘導回路で交流電源EがあってLと(L/2とRの直列)が並列に接続されています. そして,コイルの間に相互インダクタンスMの関係があります. 交流電流を複素数表示で書くとEから出た電流I1+I2は Lの方I2と(L/2とRの直列)の方I1に分かれます. このとき,コイルに点『・』がどちらのコイルにも電流が出て行く方向に打たれています. このとき,キルヒホッフの電圧則から    jω(L/2)I1-jωMI2+RI1=E    jωLI2-jωMI1=E となりますが, 普通はjωMの前の符号はマイナスでなくプラスであるはずです.しかし,この場合はマイナスになっています. コイルの向きを示す『・』は一体どのように定義されるべきなのでしょうか?? 教科書を見てこの図と方程式を考えてみましたが,教科書には定義が曖昧でしっかりと理解できません. 相互誘導のjωMの前の符号を決めるコイルの『・』について向きをどう判断したらよいのか教えて下さい!

  • このプログラム分かる方、教えてください!

     自由エネルギー F=a(M*M)+b(M*M*M*M)-MH                (a>0,b>0) が与えられているとき、M-H特性を求めたい。 Hi=0,0.01,0.02・・・,1(i=0,1,・・・100) とこれに対応するMiを1つの表に作りなさい。  ヒント:あるHiに対し      Mj=0,0.01,0.02・・・,1                    (j=0,1,・・・100) の値について自由エネルギーを計算し、最小のエネルギーを与えるMをMiとする。  という問題です けっこう難しく、なかなかできません。 分かる方、教えてください!!! よろしくお願いします!!

  • この略語(?)の意味が解りません

    まだまだ英語勉強中の者ですが、下記の略語と思われる単語、 翻訳サイトでは全く解読できません。 略語辞典(?)みたいな ものも見当たらないので、こちらでお知恵を拝借できれば、と 思ってます。 1、tomm (~get back to you tomm~) 2、midst(~still even in the midst~) 3、thee (~Do I trust thee~) こんな感じで、文章の中に書かれていたのですが… ご存知でしたら、教えて頂けると有難いです。

  • 『最後の晩餐』のモデル

    レオナルド・ダ・ヴィンチの『最後の晩餐』で描かれたキリストとユダは同一人物がモデルとなったというエピソードを聞いたことがありますが、この出典はどこでしょうか。 映画か小説ではないかと思うのですが、見つかりません。 「ユダの顔を貧民窟で探しているが未だに見つからない」と手紙に書いたというエピソードや、督促する教会の関係者をモデルにしようとキレたというエピソードは見つかるのですが、原典が参照されているものが見つからないのです。 http://www.pcs.ne.jp/~yu/ticket/supper/supper.html http://www.actv.ne.jp/~yappi/tanosii-sekaisi/06_kindai/06-03_da-vinch.html http://i16.jp/j/jp/books-jp/ALPHAXA5ECA5AAA5CAA5EBA5C9A1A6A5C0.html すみません、よろしくお願い致します。

  • Excelの参照について。

    こちらでは初めて質問させてもらいます。マクロ初心者です。長くなりますが携帯からなので画像貼れずにすいません。 vistaで2007使用です。 Sheet1に備品一覧表(結合セルなしで1行に備品ひとつ分が15列で400行くらい)があり、Sheet2に個表(空欄で枠のみの表で横に3品、縦に3品の9品分を1ページに印刷できるよう設定)を作成したいです。 Sheet2はSheet1の1行の中から一部を抽出して作製したい様式の違う表です。 例えばSheet1のA1がSheet2のA1からC1を結合したセルに、Sheet1のD1がSheet2のB2に、Sheet1のN1がSheet2のC3に…など 1つ目の参照が終わったら2つ目はSheet1のA2がSheet2のD1からF1を結合したセルに、Sheet1のD2がSheet2のE2に、Sheet1のN2がSheet2のF3に…という具合で もう1つ分右にいってから 4つ目は1つ目の下に移動しSheet1のA4がSheet2のA13からC13を結合したセルに、Sheet1のD4がSheet2のB14に、Sheet1のN4がSheet2のC15に…という具合で400行分参照するようにしたいのです。 Sheet2の各セルに一つ一つ参照を設定していくのも大変なので、Sheet1の必要なセルを参照してSheet2の各セル(結合セルあり)に表示させるマクロをつくりました。 今後Sheet1で変更したいのでコピー貼り付けでは都合がよくありません。いろいろ参考にさせてもらってヘルプで意味を調べながら作ったのですが、下記のコードでSheet1に文字が入っているセルの参照はできましたが、Sheet1に関数を入れているセルの参照の部分がうまくいきません。(関数が表示されます) Sheets(2).Select Cells(x, y).Select ActiveCell.FormulaR1C1 = "=Sheet1!R[" & CStr(i) & "]C[" & CStr(j) & "]" Sheet1で使った関数はこれです。 =IF(M10=1111111,"不明","H"&RIGHT(M10,6)) Sheet1のM列には購入日を数値化した七桁の数字(例えば4210310はH21.3.10のこと)が入っていて、N列に関数でH210310(ホントはH21.3.10としたいができませんでした。)と表示させそれをSheet2で参照させようと考えました。 文章表現がわかりにくいところがあると思いますし、マクロ初心者のため簡単なところが間違っているのかもしれませんが自分で解決できないのです。どなたかお助け下さい。

  • 集合と論理

    「 (1) 区間 0<x<1 に含まれるn+1個の数x(1),x(2),・・・,x(n+1)がある。この中から適当な2数x(i),x(j)(i≠j)を選べば、     |x(i)-x(j)|<1/n とすることができることを証明せよ.   (2) 放物線y=x^2上の点で、(1)のx(1),x(2),・・・,x(n+1)をx座標とする点をそれぞれP(1),P(2),・・・,P(n+1)とする.この中から適当な2点P(i),P(j)(i≠j)を選べば     P(i)P(j)<√5/n とできることを証明せよ.                  」 0<x<1 だから明らかに |x(i)-x(j)|<1 ですが この不等式とnとの関係は全く無いように思えます またn→∞のときに 1/n→0 となりますが・・・ 題意がどうも掴めません どなたかアドバイスを宜しくお願いします。

  • Excelで無作為復元抽出する方法

    Excelで無作為復元抽出する方法について質問です。 https://note.chiebukuro.yahoo.co.jp/detail/n115818 を参考にしました。  A県の生徒1000 人が受けたテストの結果は以下の通りだった。問題は10問あり、配点は各々10点である。    得点  度数   相対度数    得点*度数    0 点 : 15 人   15/1000    0*15 =   0      10 点 : 48 人   48/1000   10*48 =  480   μ= 51.58    20 点 : 61 人   61/1000   20*61 = 1220   σ^2 = 473    30 点 : 84 人   84/1000   30*84 = 2520   σ≒ 21.993    40 点 :157 人  157/1000   40*157 = 6280    50 点 :216 人  216/1000   50*216 = 10800    60 点 :154 人  154/1000   60*154 = 9240    70 点 :107 人  107/1000   70*107 = 7490    80 点 : 85 人   85/1000   80*85 = 6800    90 点 : 55 人   55/1000   90*55 = 4950   100 点 : 18 人   18/1000   100*18 = 1800  以上の 1000 個の得点データに対し (1)I列(I12:I1011)にデータを入力。 (2)J12に =RAND() と入力し、それを(J13:J1011) にコピー。 (3)K12に   =INDEX($I$12:$I$1011,RANK(J12,$J$12:$J$1011,0)) …… (#) と入力して、K13 以降の k 列に抽出したい数だけコピー。  (#)については次のように解釈しています。   =RANK(J12,$J$12:$J$1011,0) は J12 が J12:J1011の中で何番目に大きいかを返す。たとえば 35 番目に大きかったとすると   =INDEX($I$12:$I$1011,35,0)) によって I12:I1011の35番目のセル I(11+35) = I46 のデータを返す。  J12:J1011 には乱数が入っているので Rank が返す値が重複することはない。  で、質問はこれで本当に無作為に復元抽出することになるのでしょうかということです(笑)。というのも母集団の μ= 51.58 に対し 1000個のデータから 20 個のデータを取り出すことを20回繰り返し、その平均値をとったら53以上になることが多いです。データを入れ替えても大して変わりません。  (I12:I1011)のデータが上記の度数分布表を満たしていることは確認しています。