二、规则组织数学模型的建立

一、规则组织数学模型的建立

规则组织满足两个不变:1,组织点运动规律不变、2,飞数不变的单系统组织
即:若知道组织点运动规律和飞数即可确定唯一一个组织。
在这里插入图片描述
3上2下,组织循环数为3+2=5,经纱循环数=纬纱循环数=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的二维矩阵,是因为3+2+2+1=8
故可以求出其经纬纱循环数N2和N1,即在这里插入图片描述

3,确定二维矩阵的大小后,开始求其中的每一个元素的值

想要画出组织图所对应的二维矩阵,需要先将第一列的值确定出来。
若取组织图一般表达式,该分式的分子赋值为1,分母赋值为0
由于组织图是由下向上进行表示的,组织中的组织点与二维数组中点的坐标刚好相反。
第一列的元素所对应的组织图的位置为:N1-i+1

例如:N1=5
组织的一般表达式为:在这里插入图片描述
即,3上2下,上赋值为1,下赋值为0
在这里插入图片描述
3上,3个1 是先赋值给a5、a4、a3;2下,2个0再赋值给a2、a1
即对应的次序为N1-i+1

组织一般表达式(i代表纬纱,次序从下往上)运算二维矩阵具体点
i=1(第一根纬纱,最下面)5-1+1=5a5
i=25-2+1=4a4
i=35-3+1=3a3
i=45-4+1=2a2
i=55-5+1=1a1
4,确定表达式通式从而确定第一列所对应的矩阵值

在这里插入图片描述其中,x和y仅为两个做判断的任意变量,初始值均为0。当取分子时,x+1,y不变;取分母时,y+1,x不变
例如:在这里插入图片描述

(经组织循环数=纬组织循环数)N1=N2=3+2+2+1=8c1=3d1=2c2=2d2=1初始值:x=y=0运算二维数组对应值
i=1(第一根纬纱)c1=3(分子c1=3取下来,需要依次赋3个1)因为c1是分子,x=x+1=1,y=y=0N1-i+1=8因为c1是分子,故a8=1
i=2c1=c1-1=2因为没有取新的c和新的d,故x和y均保持不变,x=x=1,y=y=0N1-i+1=8-2+1因为c1是分子,故a7=1
i=3c1=c1-1=1因为没有取新的c和新的d,故x和y均保持不变,x=x=1,y=y=0N1-i+1=8-2+1因为c1是分子,故a6=1
i=4c1=c1-1=1-1=0,因为c1=0,故需要取下一个值,即d1=2d1=2因为d1是分母,x=x=1,y=y+1=0+1=1N1-i+1=8-4+1因为d1是分母,故a5=0
i=5d1=d1-1=2-1=1因为没有取新的c和新的d,故x和y均保持不变,x=x=1,y=y=1N1-i+1=8-5+1因为d1是分母,故a4=0
i=6d1=d1-1=1-1=0,因为d1=0,故需要取下一个值,即c2=2c2=2因为c2是分子,x=x+1=1+1=2,y=y=1N1-i+1=8-6+1因为c2是分子,故a3=1
i=7c2=c2-1=2-1=1因为没有取新的c和新的d,故x和y均保持不变,x=x=2,y=y=1N1-i+1=8-7+1因为c2是分子,故a2=1
i=8c2=c2-1=1-1=0,因为c2=0,故需要取下一个值,即d2=1d2=1因为d2是分母,x=x=2,y=y+1=1+1=2N1-i+1=8-8+1因为d2是分母,故a1=0
5,确定第二列矩阵值

第一列矩阵值确定之后,第二列的矩阵值主要取决于飞数,飞数为1,上移1格、飞数为-1,下移1格。
其中飞数实际上可以取任何整数,为了避免飞数过大造成不必要的影响,这里人为规定飞数f的取值范围为:在这里插入图片描述
例如:若N1=3时,飞数f的取值为+1、-1、+2、-2;以在这里插入图片描述2上1下为例。
( a )在这里插入图片描述飞数f=+1
( b )在这里插入图片描述飞数f=+2
( c )在这里插入图片描述飞数f=-1
( d )在这里插入图片描述飞数f=-2

不难看出,f=+1和f=-2、f=+2和f=-1所对应的组织图是一样的。

+1 = 3 + (-2)、+2 = 3 + (-1)
故可以得出结论:在这里插入图片描述
其中f‘为负飞数,f为正飞数;通过这个表达式即可将所有的负飞数均转化为正数,方便后续的处理。

6,确定第二列矩阵值与第一列矩阵值的关系式

例如:在这里插入图片描述在这里插入图片描述

a[1][1] = 0a[1][2]=a[1+2][2-1]=a[3][1]=1a[1][3]=a[1+2][3-1]=a[3][2]=1
a[2][1] = 1a[2][2]=a[2+2-3][2-1]=a[1][1]=0a[2][3]=a[2+2-3][3-1]=a[1][2]=1
a[3][1] = 1a[3][2]=a[3+2-3][2-1]=a[2][1]=1a[3][3]=a[3+2-3][3-1]=a[2][2]=0

由规律可得:在这里插入图片描述,其中i=1,2,3,…,m;j=1,2,3…,n;规则组织中m=n。

7,举例推理验证:

在这里插入图片描述
解析:拿到这个分式的时候,先写出组织的一般形式,在这里插入图片描述可得:m=n=1、c1=2、d1=1、f=+2(右斜飞数为正,左斜飞数为负)
在这里插入图片描述
首先,求解第一列元素值: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
在这里插入图片描述

三、知道组织点对应的矩阵值关系之后,开始编写程序

1,规则组织的程序流程图如下:

在这里插入图片描述

2,代码实现:

#include <iostream>
#include<stdio.h>
using namespace std;int main()
{int i,j,N1,N2,f,m;//因为规则组织是方阵,m=n,故这里只定义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(i=0;i<m;i++)//依次输入ci和di的值,其中i∈[0,m),也就总共m个,数组下标从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;//纬纱循环数初始化,之后需要累加for(i=0;i<=m-1;i++)//确定纬组织循环数,也就是Σ(ci+di),分子分母之和即可{N1=N1+c[i]+d[i];//确定出纬纱循环数N1}N2=N1;//因为是规则组织故其对应的经纬组织循环数相等printf("please input f:");//输入飞数scanf("%d",&f);if(f<0)f=N1+f;//若飞数为负数,通过公式转换成正数/*
对第1列进行赋值
*/i=1;//先对第一列赋值,从第一列的第一行开始for(j=0;j<m;j++){while(c[j]>0){a[N1-i+1][1]=1;//因为是分子,所有值都赋值为1c[j]--;//用一次减一次i++;//下一行进行赋值}while(d[j]>0){a[N1-i+1][1]=0;//因为是分母,所有值都赋值为0d[j]--;i++;}}/*
对2到N1列 进行赋值
*/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];}}/*
输出二维数组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;
}

运行效果如下:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 3:无重复字符的最长子串 思考分析

给定一个字符串&#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”&#x…

美国人看见的是友情,中国人看见的是忠诚

美国人看见的是友情&#xff0c;中国人看见的是忠诚 这是一个人狗情未了的感人事件。 一个即将死去的人&#xff0c;总有未了的心愿难以割舍&#xff0c;来自美国的凯文麦克莱恩实现了他的临终愿望&#xff0c;而他的最后愿望就是与自己的爱犬见上最后一面。 现年57岁的凯文麦克…

PyCharm安装及配置

一、下载PyCharm和相关工具 qoi8 二、安装PyCharm 先不要运行PyCharm 三、将jar包放到PyCharm安装目录的bin文件夹下 三、找到pycharm64.exe.vmoptions和pycharm.exe.vmoptions配置文件 四、编辑这两个文件&#xff0c;在这两个文件最后一行加入下载好的jar包文件路径 -ja…

LeetCode 239:滑动窗口最大值 思考分析

给定一个数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶&#xff1a; 你能在线性时间复杂度内解决此题吗&#xff1f; 示例: 输入: num…

计算机论文范文1500,电子商务毕业论文范文1500字

电子商务毕业论文范文1500字时间稍纵即逝&#xff0c;充满意义的大学生活即将结束&#xff0c;毕业前要通过最后的毕业论文&#xff0c;毕业论文是一种有计划的检验学生学习成果的形式&#xff0c;那么问题来了&#xff0c;毕业论文应该怎么写&#xff1f;下面是小编为大家整理…

五、规则组织的衍生组织——纬山形组织数学模型的建立

基础概念公式推到可参考该专栏下的前几篇博文。 纬山形组织图&#xff1a; 观察可知&#xff1a;纬山形组织图下半部分是右斜组织&#xff0c;上半部分是左斜组织。右斜和左斜按照垂直方向进行排列。 该图是一个2上3下2上1下(从最下面一行从左往右观看) 特点&#xff1a;每一…

剑指 Offer 57 - II. 和为s的连续正数序列 思考分析

输入一个正整数 target &#xff0c;输出所有和为 target 的连续正整数序列&#xff08;至少含有两个数&#xff09;。 序列内的数字由小到大排列&#xff0c;不同序列按照首个数字从小到大排列。 示例 1&#xff1a; 输入&#xff1a;target 9 输出&#xff1a;[[2,3,4],[4…

六、规则组织的衍生组织——纬向破斜组织数学模型的建立

基础概念公式推到可参考该专栏下的前几篇博文。 纬向破斜组织图&#xff1a; 下半部分(从左往右)&#xff1a;&#xff0c;3上2下2上1下&#xff0c;右斜&#xff0c;飞数为1 上半部分(从下往上)&#xff1a;&#xff0c;2上2下1上3下。左斜&#xff0c;飞数为-1 通过分析可…

数据结构与算法2——数组

数组是应用最广泛的数据存储结构。它被植入到大部分编程语言中。大部分数据结构都有最基本的四个操作&#xff1a;插入、删除、查找、修改。对于这四种操作每一种数据结构都有相应的算法。算法和数据结构因此就是非常紧密的相联系的。 1 数组例子 …

LeetCode 167. 两数之和 II - 输入有序数组 思考分析

目录1、暴力&#xff0c;超时2、双指针滑动窗口条件限制 AC3、观看题解&#xff08;吸取他人经验&#xff09;1、二分查找2、双指针3、双指针二分查找给定一个已按照升序排列 的有序数组&#xff0c;找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 …

敏捷开发用户故事系列之七:用户故事与MVC

这是用户故事系列的第七篇。&#xff08;之一&#xff0c;之二&#xff0c;之三&#xff0c;之四&#xff0c;之五&#xff0c;之六&#xff0c;之七&#xff0c;之八&#xff0c;之九&#xff09;用户故事和MVC没有关系&#xff0c;因为MVC是实现方法&#xff0c;因此在思考用…

七、规则组织的衍生组织——菱形斜纹组织数学模型的建立

基础概念公式推到可参考该专栏下的前几篇博文。 菱形斜纹组织图&#xff1a; 分析&#xff1a;首先3上2下2上1下&#xff0c;飞数为1&#xff0c;右斜。kw8表示从左下角开始往上数8格为纬峰所在位置&#xff1b;kj8表示从左上角开始往右数8格为经峰所在位置。 这样就将菱形斜…

显卡测试软件毛毛虫,超龙超龙,与众不同,顶流配备,散热一流,3070Ti超龙旗舰版评测...

可能大家都没想到此次显卡荒会持续近一年&#xff0c;还是出现国家级干涉才将这股“歪风”刹住了。而且也仅仅算是刹住了大陆的速度&#xff0c;主要踩死刹车的应该就是黄大厨。他从5月初推出的新核心就采取了出厂即锁算力的做法&#xff0c;但是即便如此&#xff0c;那些看着高…

八、非规则组织分析及其数学模型——平纹变化组织

非规则组织顾名思义&#xff0c;无法通过一个数学模型来描述所有的非规则组织、对于每一个具体的非规则组织而言&#xff0c;其也有一定的规律性可循&#xff0c;即可通过分析每一个具体的非规则组织的组织点运动规律来建立相应的数学模型。 一、平纹变化组织 平纹变化组织即…

怎么看xp计算机是32位还是64位,教你查看XP系统的不同32位还是64位详细的步骤

电脑中使用的不同的版本如果安装一些大型的游戏的时候都是有技巧来实现的&#xff0c;那在XP电脑中想要知道的对于不同的32位还是64位的版本的文件操作的时候新手是怎么知道自己安装的软件的版本呢&#xff0c;今天小编就来跟大家分享一下教你查看XP系统的不同32位还是64位详细…

LeetCode 27.移除元素 思考分析

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

九、非规则组织分析及其数学模型——曲线斜纹组织

曲线斜纹组织图&#xff1a; 因为其形状酷似抛物线&#xff0c;抛物线又是曲线中的一种&#xff0c;故称为曲线斜纹组织。 特点&#xff1a;1&#xff0c;每一根经纱上的组织点运动规律不变 2&#xff0c;飞数是变化的&#xff0c;故也称为变飞数组织 飞数满足的两个条件&…

计算机公式column,函数公式的左膀右臂:ROW、COLUMN函数知多少

一个公式生成乘法口诀表演示的公式中用到了两个函数&#xff1a;ROW和COLUMN&#xff0c;这两个函数的用途非常广泛&#xff0c;可以配合其他函数实现很多功能(尤其是和VLOOKUP函数)&#xff0c;另外和这两个函数相似的还有ROWS和COLUMNS函数&#xff0c;也顺便介绍下。函数说明…

apache2.4.x三种MPM介绍

三种MPM介绍 Apache 2.X 支持插入式并行处理模块&#xff0c;称为多路处理模块&#xff08;MPM&#xff09;。在编译apache时必须选择也只能选择一个MPM&#xff0c;对类UNIX系统&#xff0c;…

LeetCode 15. 三数之和 思考分析(双指针解)

目录初解&#xff1a;未考虑去重二解&#xff1a;未考虑去重位置三解&#xff1a;AC题目&#xff1a;给你一个包含 n 个整数的数组 nums&#xff0c;判断 nums 中是否存在三个元素 a&#xff0c;b&#xff0c;c &#xff0c;使得 a b c 0 &#xff1f;请你找出所有满足条件且…