二、规则组织数学模型的建立
一、規(guī)則組織數(shù)學(xué)模型的建立
規(guī)則組織滿足兩個(gè)不變:1,組織點(diǎn)運(yùn)動(dòng)規(guī)律不變、2,飛數(shù)不變的單系統(tǒng)組織
即:若知道組織點(diǎn)運(yùn)動(dòng)規(guī)律和飛數(shù)即可確定唯一一個(gè)組織。
3上2下,組織循環(huán)數(shù)為3+2=5,經(jīng)紗循環(huán)數(shù)=緯紗循環(huán)數(shù)=5,故意匠格的大小為5×5。
其對(duì)應(yīng)的組織圖為:
很容易理解:從下向上、從左向右
第一列:三個(gè)黑兩個(gè)白,(例如:黑為經(jīng)組織點(diǎn),白為緯組織點(diǎn))
第二列:由于飛數(shù)是2,這里需要將每個(gè)位置都向上移動(dòng)兩個(gè)單位
第三列:以此類推,超出的組織圖大小的組織點(diǎn),從最底下向上依次補(bǔ)齊即可
為了讓計(jì)算機(jī)能夠識(shí)別,這時(shí)候需要引入二維數(shù)組進(jìn)行標(biāo)識(shí),規(guī)定:在二維數(shù)組中,值為1時(shí)表示經(jīng)組織點(diǎn),值為0時(shí)表示緯組織點(diǎn)。
矩陣中的列數(shù)=經(jīng)紗循環(huán)數(shù),行數(shù)=緯紗循環(huán)數(shù)
這里使用N1代表行數(shù)即緯紗循環(huán)數(shù),N2表示列數(shù)即經(jīng)紗循環(huán)數(shù)。
通過二維數(shù)組:a[N1][N2]即可唯一表示一個(gè)單系統(tǒng)組織;即矩陣和組織圖之間時(shí)一一對(duì)應(yīng)的關(guān)系。
經(jīng)紗循環(huán)數(shù)即在一個(gè)組織中包含經(jīng)紗的根數(shù);同理,緯紗循環(huán)數(shù)即在一個(gè)組織中包含緯紗的根數(shù)。
對(duì)于組織而言,只有兩種形式:1,經(jīng)紗在緯紗上,稱之為經(jīng)組織點(diǎn)、1,緯紗在經(jīng)紗上,稱之為緯組織點(diǎn)
二、矩陣的第一列賦值
組織的運(yùn)動(dòng)規(guī)律使用一個(gè)分式進(jìn)行表示。
組織的一般形式:
c1上d1下,c2上d2下,c3上d3下…以此類推
ci表示連續(xù)的經(jīng)組織點(diǎn),di表示連續(xù)的緯組織點(diǎn)
分析:當(dāng)?shù)玫浇M織圖時(shí),如何定義出對(duì)應(yīng)的二維矩陣
1,首先,組織圖都是從下往上,從左往右定義的,即左下角為起始位置,然后向上。對(duì)于一個(gè)規(guī)則組織來說,行數(shù)和列數(shù)是相同的,經(jīng)紗循環(huán)數(shù)=緯紗循環(huán)數(shù)。
2,當(dāng)拿到組織的一般形式時(shí),需要先確定二維矩陣的大小,即行數(shù)和列數(shù);只需要將所有的分子和分母都加到一塊即可得到二維矩陣的大小。
例如:3上2下2上1下,飛數(shù)為1的組織一般形式
之所以是8×8的二維矩陣,是因?yàn)?+2+2+1=8
故可以求出其經(jīng)緯紗循環(huán)數(shù)N2和N1,即
3,確定二維矩陣的大小后,開始求其中的每一個(gè)元素的值
想要畫出組織圖所對(duì)應(yīng)的二維矩陣,需要先將第一列的值確定出來。
若取組織圖一般表達(dá)式,該分式的分子賦值為1,分母賦值為0
由于組織圖是由下向上進(jìn)行表示的,組織中的組織點(diǎn)與二維數(shù)組中點(diǎn)的坐標(biāo)剛好相反。
第一列的元素所對(duì)應(yīng)的組織圖的位置為:N1-i+1
例如:N1=5
組織的一般表達(dá)式為:
即,3上2下,上賦值為1,下賦值為0
3上,3個(gè)1 是先賦值給a5、a4、a3;2下,2個(gè)0再賦值給a2、a1
即對(duì)應(yīng)的次序?yàn)镹1-i+1
| i=1(第一根緯紗,最下面) | 5-1+1=5 | a5 |
| i=2 | 5-2+1=4 | a4 |
| i=3 | 5-3+1=3 | a3 |
| i=4 | 5-4+1=2 | a2 |
| i=5 | 5-5+1=1 | a1 |
4,確定表達(dá)式通式從而確定第一列所對(duì)應(yīng)的矩陣值
其中,x和y僅為兩個(gè)做判斷的任意變量,初始值均為0。當(dāng)取分子時(shí),x+1,y不變;取分母時(shí),y+1,x不變。
例如:
| i=1(第一根緯紗) | c1=3(分子c1=3取下來,需要依次賦3個(gè)1) | 因?yàn)閏1是分子,x=x+1=1,y=y=0 | N1-i+1=8 | 因?yàn)閏1是分子,故a8=1 | |||
| i=2 | c1=c1-1=2 | 因?yàn)闆]有取新的c和新的d,故x和y均保持不變,x=x=1,y=y=0 | N1-i+1=8-2+1 | 因?yàn)閏1是分子,故a7=1 | |||
| i=3 | c1=c1-1=1 | 因?yàn)闆]有取新的c和新的d,故x和y均保持不變,x=x=1,y=y=0 | N1-i+1=8-2+1 | 因?yàn)閏1是分子,故a6=1 | |||
| i=4 | c1=c1-1=1-1=0,因?yàn)閏1=0,故需要取下一個(gè)值,即d1=2 | d1=2 | 因?yàn)閐1是分母,x=x=1,y=y+1=0+1=1 | N1-i+1=8-4+1 | 因?yàn)閐1是分母,故a5=0 | ||
| i=5 | d1=d1-1=2-1=1 | 因?yàn)闆]有取新的c和新的d,故x和y均保持不變,x=x=1,y=y=1 | N1-i+1=8-5+1 | 因?yàn)閐1是分母,故a4=0 | |||
| i=6 | d1=d1-1=1-1=0,因?yàn)閐1=0,故需要取下一個(gè)值,即c2=2 | c2=2 | 因?yàn)閏2是分子,x=x+1=1+1=2,y=y=1 | N1-i+1=8-6+1 | 因?yàn)閏2是分子,故a3=1 | ||
| i=7 | c2=c2-1=2-1=1 | 因?yàn)闆]有取新的c和新的d,故x和y均保持不變,x=x=2,y=y=1 | N1-i+1=8-7+1 | 因?yàn)閏2是分子,故a2=1 | |||
| i=8 | c2=c2-1=1-1=0,因?yàn)閏2=0,故需要取下一個(gè)值,即d2=1 | d2=1 | 因?yàn)閐2是分母,x=x=2,y=y+1=1+1=2 | N1-i+1=8-8+1 | 因?yàn)閐2是分母,故a1=0 |
5,確定第二列矩陣值
第一列矩陣值確定之后,第二列的矩陣值主要取決于飛數(shù),飛數(shù)為1,上移1格、飛數(shù)為-1,下移1格。
其中飛數(shù)實(shí)際上可以取任何整數(shù),為了避免飛數(shù)過大造成不必要的影響,這里人為規(guī)定飛數(shù)f的取值范圍為:
例如:若N1=3時(shí),飛數(shù)f的取值為+1、-1、+2、-2;以2上1下為例。
( a )飛數(shù)f=+1
( b )飛數(shù)f=+2
( c )飛數(shù)f=-1
( d )飛數(shù)f=-2
不難看出,f=+1和f=-2、f=+2和f=-1所對(duì)應(yīng)的組織圖是一樣的。
+1 = 3 + (-2)、+2 = 3 + (-1)
故可以得出結(jié)論:
其中f‘為負(fù)飛數(shù),f為正飛數(shù);通過這個(gè)表達(dá)式即可將所有的負(fù)飛數(shù)均轉(zhuǎn)化為正數(shù),方便后續(xù)的處理。
6,確定第二列矩陣值與第一列矩陣值的關(guān)系式
例如:,
| a[1][1] = 0 | a[1][2]=a[1+2][2-1]=a[3][1]=1 | a[1][3]=a[1+2][3-1]=a[3][2]=1 |
| a[2][1] = 1 | a[2][2]=a[2+2-3][2-1]=a[1][1]=0 | a[2][3]=a[2+2-3][3-1]=a[1][2]=1 |
| a[3][1] = 1 | a[3][2]=a[3+2-3][2-1]=a[2][1]=1 | a[3][3]=a[3+2-3][3-1]=a[2][2]=0 |
由規(guī)律可得:,其中i=1,2,3,…,m;j=1,2,3…,n;規(guī)則組織中m=n。
7,舉例推理驗(yàn)證:
解析:拿到這個(gè)分式的時(shí)候,先寫出組織的一般形式,可得:m=n=1、c1=2、d1=1、f=+2(右斜飛數(shù)為正,左斜飛數(shù)為負(fù))
()
首先,求解第一列元素值:a[3][1]=1,a[2][1]=1,a[1][1]=0,即
a[3][2]=a[3+2-3][2-1]=a[2][1]=1、a[2][2]=a[2+2-3][2-1]=a[1][1]=0、a[1][2]=a[1+2][2-1]=a[3][1]=1
a[3][3]=a[3+2-3][3-1]=a[2][2]=0、a[2][3]=a[2+2-3][3-1]=a[1][2]=1、a[1][3]=a[1+2][3-1]=a[3][2]=1
三、知道組織點(diǎn)對(duì)應(yīng)的矩陣值關(guān)系之后,開始編寫程序
1,規(guī)則組織的程序流程圖如下:
2,代碼實(shí)現(xiàn):
#include <iostream> #include<stdio.h> using namespace std;int main() {int i,j,N1,N2,f,m;//因?yàn)橐?guī)則組織是方陣,m=n,故這里只定義m即可int c[10],d[10],a[100][100];//c數(shù)組主要存儲(chǔ)c1、c2、c3...,d數(shù)組主要存儲(chǔ)d1、d2、d3...printf("please input m:");scanf("%d",&m);//確定矩陣的大小for(i=0;i<m;i++)//依次輸入ci和di的值,其中i∈[0,m),也就總共m個(gè),數(shù)組下標(biāo)從0開始的而已。{printf("please input C[%d]:",i+1);scanf("%d",&c[i]);printf("please input D[%d]:",i+1);scanf("%d",&d[i]);}N1=0;//緯紗循環(huán)數(shù)初始化,之后需要累加for(i=0;i<=m-1;i++)//確定緯組織循環(huán)數(shù),也就是Σ(ci+di),分子分母之和即可{N1=N1+c[i]+d[i];//確定出緯紗循環(huán)數(shù)N1}N2=N1;//因?yàn)槭且?guī)則組織故其對(duì)應(yīng)的經(jīng)緯組織循環(huán)數(shù)相等printf("please input f:");//輸入飛數(shù)scanf("%d",&f);if(f<0)f=N1+f;//若飛數(shù)為負(fù)數(shù),通過公式轉(zhuǎn)換成正數(shù)/* 對(duì)第1列進(jìn)行賦值 */i=1;//先對(duì)第一列賦值,從第一列的第一行開始for(j=0;j<m;j++){while(c[j]>0){a[N1-i+1][1]=1;//因?yàn)槭欠肿?#xff0c;所有值都賦值為1c[j]--;//用一次減一次i++;//下一行進(jìn)行賦值}while(d[j]>0){a[N1-i+1][1]=0;//因?yàn)槭欠帜?#xff0c;所有值都賦值為0d[j]--;i++;}}/* 對(duì)2到N1列 進(jìn)行賦值 */for(j=2;j<=N2;j++){for(i=1;i<=N1;i++){if((i+f)>N1) a[i][j] = a[i+f-N1][j-1];else a[i][j]=a[i+f][j-1];}}/* 輸出二維數(shù)組a[i][j] */for(i=1;i<=N1;i++){for(j=1;j<=N2;j++){printf("%5d",a[i][j]);}printf("\n");}getchar();//吞一個(gè)回車鍵return 0; }運(yùn)行效果如下:
總結(jié)
以上是生活随笔為你收集整理的二、规则组织数学模型的建立的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《秋日示休上人诗》是哪个时期的作品?
- 下一篇: dnf85男机械地瓜伤害是什么