需要将矩阵或者表中重复的行去掉,该如何做?
mathcad吧
全部回复
仅看楼主
level 7
yuduotian 楼主
如题,表格在链接中。
http://yunpan.cn/cwexW4nRekSer 访问密码 3983
2015年06月05日 06点06分 1
level 12
集合论在MC吧老贴里提到了不少,在Inside Mathcad里有现成的模板,此题*。
若无人回答,我过了12点给答案。
2015年06月05日 07点06分 2
level 7
yuduotian 楼主
再增加一个内容
假设有一组数x=1,2...10,x必须是正整数;
有个倍率i的范围是1~3.5(随便一个范围,精度可以在0.01)
求另外一组数y=x*i,y必须是正整数,并且y的最大整数不能超过x*i;
要求x,y对应输出,并且去掉结果中重复的数据,例如x=1的时候,y在i的范围内,会有很多数据是相同的,例如i=1.01~1.99时,y都等于2,相同的结果不需要重复出现。
2015年06月05日 08点06分 3
level 12
yi=xi×floor(rnd(2.5)+1),剩下的就是上面的答案了。
2015年06月05日 08点06分 4
level 12
(rnd(250)/100)+1
2015年06月05日 08点06分 5
[大拇指][大拇指][大拇指]
2015年06月05日 11点06分
level 7
yuduotian 楼主
我考虑的是用i的边界条件去重,略过y相同的i值。
2015年06月05日 13点06分 9
level 12
没看明白。你到底要做什么呢?
2015年06月05日 13点06分 10
level 12
你掰开了揉碎了说吧,比如你举一个简单但说明问题的例子,一开始是什么样,你想做到什么样,想尽办法让别人看明白你在什么和你想干什么,这是交流效率。
2015年06月05日 13点06分 11
我发的那个程序,写了3次,每次只是计算了一个x值对应的y,i的变化范围是1.2~3.5
2015年06月05日 13点06分
z1就是x,z1=1时,求出的y=2,3;z1=2时,求出y=3,4,5,6,7;依次类推; 我想要在一个循环中求出z1=1,2...,时对应的y值,并且将z1和y对应的输出在同一个矩阵中。
2015年06月05日 13点06分
@yuduotian 从你的程序里只看到你是怎么干的,但看不出你要干什么。
2015年06月05日 13点06分
level 12
如果你自己都表达不明白,确实不能期望别人能够明白你要表达的是什么。
2015年06月05日 13点06分 12
要求的数假设叫z2,z2=z1*i,但必须满足i在1.2~3.5的范围内,同时z2是整数。 z1=1时,z2可以得2,3,对应的z2=z1*i, z1=1,i=2; z2=z1*i ,z1=1,i=3
2015年06月05日 14点06分
关系式就是z2=z1*i;z1=3,i=2,那么z2=6,公式就是简单的乘法。但此处i是个范围,要求出这个范围内的z2的全部可能的数值。
2015年06月05日 14点06分
level 12
嗯,z10对应的多少?
2015年06月05日 14点06分 13
level 12
z1和y之间有什么对应关系么?
你说的这个,最后的结果应该一个2列矩阵,第1列是z1的序号,第2列是y的嵌套数组。
2015年06月05日 14点06分 14
z1和y跟我发的程序无关,我发的程序只是说我算出来的一个简单的结果。
2015年06月05日 14点06分
level 12
越说越不明白了,怎么又出了z2了?
2015年06月05日 14点06分 15
level 12
用5000字把你要干什么说清楚,起因经过结果,时间地点人物,怎么回事儿,画图说也成,拍视频说也成,总之我没看明白你要干什么。
2015年06月05日 14点06分 16
level 7
yuduotian 楼主
关系式就是z2=z1*i;
例如:z1=3,i=2,那么z2=6,公式就是简单的乘法。
但此处i是个范围值,例如i=1.2~3.5,要求出这个范围(i=1.2~3.5)内的z2的全部可能的整数值。
例如z1=1时,z2就是2和3两个值。
例如z1=2时,z2就是3,4,5,6,7五个值。
。。。。。。
对于不同的z1,在i的范围内,可以求出相应的z2的全部整数值。
例如for z1=1,2...15
求出所有的z2的值,并输出成一个2列的矩阵
2015年06月05日 14点06分 17
level 12
谁看明白了谁来说吧。貌似@yuduotian 想表达的是i是一个向量,i向量的元素数量随着x的增加而增加,不知道是不是这个意思。我相信会有人知道他要做什么的。
2015年06月05日 14点06分 18
除了一楼说的表格数据去掉重复项,后面的我也没看懂.....楼主说最后要的结果是个2列矩阵,第1列是什么第2列是什么,我没整明白.
2015年06月05日 14点06分
i就相当于一个放大系数,把z1放大i倍;i在一个范围内变化,但求出的z1*i的整数是有限的。z1也必须是整数,而且这个数不会很大,一般不会超过100;i的有效位数不需要很多,我的应用范围i的精度到0.001已经足够了,0.01就可以满意一般使用要求。
2015年06月05日 14点06分
level 12
嗯,随着z1值的增加,z2的值也在增加,这就要看i的有效数字位数了:
若 i=1.2000000000000000001
当 z1=10^15时,就会有一个整数值出现,这无疑是要包含在z2向量里的。
也就是说,如果i的小数位数是无穷大的,那么很有可能z2向量中会有无穷多个元素。
2015年06月05日 14点06分 19
我的应用范围不需要i的精度过高,0.001已经完全可以满足要求了,z1正常是不会超过100的。
2015年06月05日 14点06分
level 12
如果按照0.01的精确度来容纳i=1.2~3.5之间的元素,i也就会有(3.5-1.2)×10=230个元素,假设这些元素都可以在相乘之后得到各不相同的整数,z2向量也会是很大的,100项?不清楚了。
2015年06月05日 14点06分 20
z2的数量是很多的,因此我想在计算中直接跳过重复项,而不是计算出重复项再删除。
2015年06月05日 14点06分
用简单的方法,给出i的步长,每个步长的i所对应的z2都求出来,这样可以得到包括所有z2重复项的矩阵,但是这样的矩阵过于庞大。
2015年06月05日 14点06分
@yuduotian 不大,过程量不超过500000各元素都可以忽略的。
2015年06月05日 14点06分
level 12
还有一个问题,你说:
z1=1时,z2就是2和3两个值。
z1=1时,最小值是1.2,最大值是3.5,你的意思是不是我对这些值round为整数之后,去掉所有小于1.2的值和所有大于3.5的值?round(1.2)=1,去掉;round(3.5)=4,去掉。是这样的吗?
2015年06月05日 14点06分 21
是的
2015年06月05日 14点06分
level 12
精度到底是0.01,还是0.001,在3楼你说是0.01,在19楼你又说是0.001,到底是多少,给个准数。
2015年06月05日 14点06分 22
0.01即可
2015年06月05日 14点06分
目前的计算,0.01和0.001对结果无影响
2015年06月05日 14点06分
level 12
@yuduotian ,你错了,0.01和0.001对结果影响很大,当z1非常大的时候,就能够看出来了。除非你界定一个z1的范围,真的像你说那样1,2,3,4,5,6,7,8,9,10即可吗?
2015年06月05日 14点06分 23
我说了,z1不会很大,正常不会超过100,所以0.01和0.001没有影响。
2015年06月05日 14点06分
1 2 尾页