企业做的网站费入什么科目,学生网站建设的基本流程,手机网站管理系统,郑州手机软件开发公司一、规则组织数学模型的建立
规则组织满足两个不变#xff1a;1#xff0c;组织点运动规律不变、2#xff0c;飞数不变的单系统组织 即#xff1a;若知道组织点运动规律和飞数即可确定唯一一个组织。 3上2下#xff0c;组织循环数为325#xff0c;经纱循环数纬纱循环数…一、规则组织数学模型的建立
规则组织满足两个不变1组织点运动规律不变、2飞数不变的单系统组织 即若知道组织点运动规律和飞数即可确定唯一一个组织。 3上2下组织循环数为325经纱循环数纬纱循环数5故意匠格的大小为5×5。 其对应的组织图为 很容易理解从下向上、从左向右 第一列三个黑两个白例如黑为经组织点白为纬组织点 第二列由于飞数是2这里需要将每个位置都向上移动两个单位 第三列以此类推超出的组织图大小的组织点从最底下向上依次补齐即可
为了让计算机能够识别这时候需要引入二维数组进行标识规定在二维数组中值为1时表示经组织点值为0时表示纬组织点。 矩阵中的列数经纱循环数行数纬纱循环数 这里使用N1代表行数即纬纱循环数N2表示列数即经纱循环数。
通过二维数组a[N1][N2]即可唯一表示一个单系统组织即矩阵和组织图之间时一一对应的关系。
经纱循环数即在一个组织中包含经纱的根数同理纬纱循环数即在一个组织中包含纬纱的根数。
对于组织而言只有两种形式1经纱在纬纱上称之为经组织点、1纬纱在经纱上称之为纬组织点
二、矩阵的第一列赋值
组织的运动规律使用一个分式进行表示。 组织的一般形式
c1上d1下c2上d2下c3上d3下…以此类推 ci表示连续的经组织点di表示连续的纬组织点
分析当得到组织图时如何定义出对应的二维矩阵
1首先组织图都是从下往上从左往右定义的即左下角为起始位置然后向上。对于一个规则组织来说行数和列数是相同的经纱循环数纬纱循环数。
2当拿到组织的一般形式时需要先确定二维矩阵的大小即行数和列数只需要将所有的分子和分母都加到一块即可得到二维矩阵的大小。
例如3上2下2上1下飞数为1的组织一般形式 之所以是8×8的二维矩阵是因为32218 故可以求出其经纬纱循环数N2和N1即
3确定二维矩阵的大小后开始求其中的每一个元素的值
想要画出组织图所对应的二维矩阵需要先将第一列的值确定出来。 若取组织图一般表达式该分式的分子赋值为1分母赋值为0 由于组织图是由下向上进行表示的组织中的组织点与二维数组中点的坐标刚好相反。 第一列的元素所对应的组织图的位置为N1-i1
例如N15 组织的一般表达式为 即3上2下上赋值为1下赋值为0 3上3个1 是先赋值给a5、a4、a32下2个0再赋值给a2、a1 即对应的次序为N1-i1
组织一般表达式(i代表纬纱次序从下往上)运算二维矩阵具体点i1第一根纬纱最下面5-115a5i25-214a4i35-313a3i45-412a2i55-511a1
4确定表达式通式从而确定第一列所对应的矩阵值
其中x和y仅为两个做判断的任意变量初始值均为0。当取分子时x1y不变取分母时y1x不变。 例如
经组织循环数纬组织循环数N1N232218c13d12c22d21初始值:xy0运算二维数组对应值i1第一根纬纱c13(分子c13取下来,需要依次赋3个1)因为c1是分子,xx11yy0N1-i18因为c1是分子,故a81i2c1c1-12因为没有取新的c和新的d,故x和y均保持不变,xx1,yy0N1-i18-21因为c1是分子,故a71i3c1c1-11因为没有取新的c和新的d,故x和y均保持不变,xx1,yy0N1-i18-21因为c1是分子,故a61i4c1c1-11-10,因为c10,故需要取下一个值,即d12d12因为d1是分母,xx1,yy1011N1-i18-41因为d1是分母,故a50i5d1d1-12-11因为没有取新的c和新的d,故x和y均保持不变,xx1,yy1N1-i18-51因为d1是分母,故a40i6d1d1-11-10,因为d10,故需要取下一个值,即c22c22因为c2是分子,xx1112,yy1N1-i18-61因为c2是分子,故a31i7c2c2-12-11因为没有取新的c和新的d,故x和y均保持不变,xx2,yy1N1-i18-71因为c2是分子,故a21i8c2c2-11-10,因为c20,故需要取下一个值,即d21d21因为d2是分母,xx2,yy1112N1-i18-81因为d2是分母,故a10
5确定第二列矩阵值
第一列矩阵值确定之后第二列的矩阵值主要取决于飞数飞数为1上移1格、飞数为-1下移1格。 其中飞数实际上可以取任何整数为了避免飞数过大造成不必要的影响这里人为规定飞数f的取值范围为 例如若N13时飞数f的取值为1、-1、2、-2以2上1下为例。 ( a )飞数f1 ( b )飞数f2 ( c )飞数f-1 ( d )飞数f-2
不难看出f1和f-2、f2和f-1所对应的组织图是一样的。
1 3 (-2)、2 3 (-1) 故可以得出结论 其中f‘为负飞数f为正飞数通过这个表达式即可将所有的负飞数均转化为正数方便后续的处理。
6确定第二列矩阵值与第一列矩阵值的关系式
例如
a[1][1] 0a[1][2]a[12][2-1]a[3][1]1a[1][3]a[12][3-1]a[3][2]1a[2][1] 1a[2][2]a[22-3][2-1]a[1][1]0a[2][3]a[22-3][3-1]a[1][2]1a[3][1] 1a[3][2]a[32-3][2-1]a[2][1]1a[3][3]a[32-3][3-1]a[2][2]0
由规律可得其中i1,2,3,…,mj1,2,3…,n规则组织中mn。
7举例推理验证 解析拿到这个分式的时候先写出组织的一般形式可得mn1、c12、d11、f2(右斜飞数为正左斜飞数为负) 首先求解第一列元素值a[3][1]1,a[2][1]1,a[1][1]0即
a[3][2]a[32-3][2-1]a[2][1]1、a[2][2]a[22-3][2-1]a[1][1]0、a[1][2]a[12][2-1]a[3][1]1 a[3][3]a[32-3][3-1]a[2][2]0、a[2][3]a[22-3][3-1]a[1][2]1、a[1][3]a[12][3-1]a[3][2]1
三、知道组织点对应的矩阵值关系之后开始编写程序
1规则组织的程序流程图如下 2代码实现
#include iostream
#includestdio.h
using namespace std;int main()
{int i,j,N1,N2,f,m;//因为规则组织是方阵mn故这里只定义m即可int c[10],d[10],a[100][100];//c数组主要存储c1、c2、c3...d数组主要存储d1、d2、d3...printf(please input m:);scanf(%d,m);//确定矩阵的大小for(i0;im;i)//依次输入ci和di的值其中i∈[0,m)也就总共m个数组下标从0开始的而已。{printf(please input C[%d]:,i1);scanf(%d,c[i]);printf(please input D[%d]:,i1);scanf(%d,d[i]);}N10;//纬纱循环数初始化之后需要累加for(i0;im-1;i)//确定纬组织循环数也就是Σ(cidi)分子分母之和即可{N1N1c[i]d[i];//确定出纬纱循环数N1}N2N1;//因为是规则组织故其对应的经纬组织循环数相等printf(please input f:);//输入飞数scanf(%d,f);if(f0)fN1f;//若飞数为负数通过公式转换成正数/*
对第1列进行赋值
*/i1;//先对第一列赋值从第一列的第一行开始for(j0;jm;j){while(c[j]0){a[N1-i1][1]1;//因为是分子所有值都赋值为1c[j]--;//用一次减一次i;//下一行进行赋值}while(d[j]0){a[N1-i1][1]0;//因为是分母所有值都赋值为0d[j]--;i;}}/*
对2到N1列 进行赋值
*/for(j2;jN2;j){for(i1;iN1;i){if((if)N1) a[i][j] a[if-N1][j-1];else a[i][j]a[if][j-1];}}/*
输出二维数组a[i][j]
*/for(i1;iN1;i){for(j1;jN2;j){printf(%5d,a[i][j]);}printf(\n);}getchar();//吞一个回车键return 0;
}
运行效果如下