欢迎光临散文网 会员登陆 & 注册

北太天元软件实现算卦(金钱卦)

2023-02-25 22:36 作者:卢朓  | 我要投稿

% 北太天元软件 帮大家 算卦( 金钱卦 )

% 你只要撒六轮铜钱,每次输入一个整数,表示你摇动装钱罐子的次数。

% 最后输出你的卦 和 爻辞

% 例如 乾乾 的爻辞 是 "乾为天"

% 我这儿不是宣传迷信啊,仅仅是把算卦涉及到到二进制,随机,一一映射

% 排列(从八卦到64卦) 的东西与大家分享一下

% 西方的天文学和星占学实际上也是关系密切得很,这一点大家应该是熟知的,

% 不知道的,可以读一读第谷和开普勒的故事。

% 东方的算卦和数学以及心理学其实也是关系很密切的,

% 感兴趣的朋友可以调研一下。 

x = zeros(1,6);

for i = 1:6

   摇铜钱 = 0;

   摇铜钱 = input(['六轮中的第' num2str(i) '轮---请输入摇的次数:']);

 铜钱 = mod( fix(摇铜钱) + fix(rand(1,3)*1e6), 2 );

   disp(['第' num2str(i) '次扔铜钱(0表示字面):' num2str(铜钱)])

   三枚铜钱字面的个数 = sum(find(铜钱 == 0 )) ;

   if( 三枚铜钱字面的个数 == 0 )

    x(i) =   1 ; % 0字三背, 字数是个偶数,是阳, 老阳, 变卦, 主过去之事

   elseif( 三枚铜钱字面的个数 == 2 )

    x(i) =   1 ; % 2字1背,字数是个偶数,是阳, 少阳

   elseif( 三枚铜钱字面的个数 == 1 )

    x(i) =   0 ; % 1字2背,字数是个奇数,是阴, 少阴

   elseif( 三枚铜钱字面的个数 == 3 )

    x(i) =   0 ; % 3字0背,字数是个奇数,是阴, 老阴, 主卦,主未来之事

   end

end

[内, 外, 卦辞] = 算卦(x);

disp([内, 外 , ':', 卦辞])



function [gua] = 阴阳变换到卦(n1,n2,n3)

% 由三爻得一卦,输入每爻的阴阳

%输出八卦(后天八卦):

% 1表示阳 0表示阴

% 乾一(111)、兑二(读音dui4 011)、离三(101)、

% 震四(001)、巽五(读音xun4 101)、坎六、艮七(读音gen4 010)、坤八(000)

%阳爻时n为1,阴爻时n为0

% 例如 111 (阳阳阳) --> 乾一    

gua = 1+(~n3) + (~n2)*2 +(~n1)*4;  % ~1 得0, ~0 得 1

end


function [内, 外, name] = 断卦(内卦,外卦)

% 由起卦所得内外卦,输出全卦

%乾一、兑二、离三、震四、巽五、坎六、艮七、坤八

if 内卦<0 || 内卦>8 || 外卦<0 || 外卦 >8

   disp('内外卦都需要在0-8之间\n');

   exit;

end


gua_list = {

        '乾为天','天泽履','天火同人','天雷无妄','天风姤','天水讼','天山遁','天地否';

        '泽天夬','兑为泽','泽火革','泽雷随','泽风大过','泽水困','泽山咸','泽地萃';

        '火天大有','火泽睽','离为火','火雷噬嗑','火风鼎','火水未济','火山旅','火地晋';

        '雷天大壮','雷泽归妹','雷火丰','震为雷','雷风恒','雷水解','雷山小过','雷地豫';

        '风天小畜','风泽中孚','风火家人','风雷益','巽为风','风水涣','风山渐','风地观';

        '水天需','水泽节','水火既济','水雷屯','水风井','坎为水','水山蹇','水地比';

        '山天大畜','山泽损','山火贲','山雷颐','山风蛊','山水蒙','艮为山','山地剥';

        '地天泰','地泽临','地火明夷','地雷复','地风升','地水师','地山谦','坤为地';

        };

   八卦 = { '乾','兑','离','震','巽','坎','艮','坤'};

   内 = 八卦{内卦};

   外 = 八卦{外卦};

   name = gua_list{内卦,外卦};

end


%三钱筮法MATLAB实现

%起卦:三枚铜钱,共摇六次;

function [内, 外, guaci] = 算卦(number)

   c1 = number(1);

   c2 = number(2);

   c3 = number(3);

   c4 = number(4);

   c5 = number(5);

   c6 = number(6);

   [内, 外, guaci] = 断卦(阴阳变换到卦(c1,c2,c3),阴阳变换到卦(c4,c5,c6));

end



北太天元软件实现算卦(金钱卦)的评论 (共 条)

分享到微博请遵守国家法律