五、规则组织的衍生组织——纬山形组织数学模型的建立
生活随笔
收集整理的這篇文章主要介紹了
五、规则组织的衍生组织——纬山形组织数学模型的建立
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基礎概念公式推到可參考該專欄下的前幾篇博文。
緯山形組織圖:
觀察可知:緯山形組織圖下半部分是右斜組織,上半部分是左斜組織。右斜和左斜按照垂直方向進行排列。
該圖是一個2上3下2上1下(從最下面一行從左往右觀看)
特點:每一根緯紗上的組織點運動規律保持不變。
飛數分為:經向飛數和緯向飛數
經向飛數:相鄰兩根經紗對應組織點之間間隔的緯紗根數
緯向飛數:相鄰兩根緯紗對應組織點之間間隔的經紗根數
對于使用緯紗飛數的組織,應該先填第一根緯紗上(最后一行)的組織點
一、確定經緯紗循環數N2和N1
緯山形斜紋方向在第Kw根緯紗發生改變
二、對矩陣中最下面的一行(N1行)進行賦值
對于一個矩陣而言其大小為N1行N2列,并且組織中的行數是從上而下進行排列,即第一根緯紗對應的就是N1行。
緯山形N1行的求法與經山形的第一列求法一致,取分子是1,分母為0。
對于N1行的任意一個元素可以標識為a[N1][j],j=1,2,3,…,N2。
,其中j=1,2,3,…,N2
三、根據 N1 行求 N1 - 1到N1 - Kw + 1行,即求下半部分的右斜組織
,其中i=N1-1,N1-2,…,N1-kw+1;j=1,2,3,…,N2
四、根據N1 - Kw + 1行對N1 - Kw行到第1行進行賦值,即上半部分的左斜組織,需要改變一下飛數即可
代碼如下:
#include <iostream> #include<stdio.h> using namespace std;int main() {int i,j,N1,N2,f,m,kw;//kw表示山峰的位置,從而確定出總列數N1int c[10],d[10],a[100][100];printf("please input m:");scanf("%d",&m);for(i=0;i<=m-1;i++){printf("please input C[%d]:",i+1);scanf("%d",&c[i]);printf("please input D[%d]:",i+1);scanf("%d",&d[i]);}printf("please input kw:");scanf("%d",&kw);//輸入山峰位置,從而確定出總行數N2=0;//列數初始化,即經紗循環數初始化,之后需要累加for(i=0;i<=m-1;i++){N2=N2+c[i]+d[i];}N1=2*kw-2;//總行數printf("please input f:");scanf("%d",&f);/* 對第1行進行賦值 */j=1;//先對N1行賦值,從N1行的第1列開始for(i=0;i<=m-1;i++){while(c[i]>0){a[N1][j]=1;//因為是分子,所有值都賦值為1c[i]--;j++;}while(d[i]>0){a[N1][j]=0;//因為是分母,所有值都賦值為0d[i]--;j++;}}/* 對N1-1到N1-kw+1行,進行賦值 */for(i=N1-1;i>=N1-kw+1;i--){for(j=1;j<=N2;j++){if((j-f)>0) a[i][j] = a[i+1][j-f];else a[i][j]=a[i+1][j-f+N2];}}f=N2-f;//求N1+kw行到第1列,即上半部分的飛數需要將正值轉變為負數/* 對N1-kw行到第1行,進行賦值 */for(i=N1-kw;i>=1;i--){for(j=1;j<=N2;j++){if((j-f)>0) a[i][j] = a[i+1][j-f];else a[i][j]=a[i+1][j-f+N2];}}/* 輸出二維數組a[i][j] */for(i=1;i<=N1;i++){for(j=1;j<=N2;j++){printf("%5d",a[i][j]);}printf("\n");}getchar();return 0; }運行效果圖如下:
總結
以上是生活随笔為你收集整理的五、规则组织的衍生组织——纬山形组织数学模型的建立的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈尔滨治疗精子不液化最好的医院推荐
- 下一篇: 电动叉车多少钱一台啊?