在Mathcad Prime 3.0中如何实现数组自由组合运算
mathcad吧
全部回复
仅看楼主
level 4
feel0014 楼主
我想在Mathcad 中实现 数组自由组合,需要怎么书写,例如 A=1 2 3,B=a b c,相输出C=1a 1b 1c 2a 2b 2c 3a 3b 3c,这种输入矩阵运算吗还是数组运算之类的,该怎么书写?数学没学好,都丢还给老师了,求恶补!!!
2015年01月26日 07点01分 1
level 11
你的变量C是字符串型的,变量B也是字符串型的,因此可以考虑直接字符串连接。
如果变量A也是字符串型的,那么直接这样就可以了:
如果A不是字符串型,而是数值型,那么可以调用内置函数num2str,将A转换成字符串,然后再与B连接:
注意,以上截图来自Mathcad15[M030],不是Mathcad Prime 3。
2015年01月26日 13点01分 2
level 1
这个问题还不真难,创建函数C(A,B):=,右边线设一个计数器k为0,接下来就for{for{保存}},最后返回保存的列表就行。
查了help里面有permut但不是这种两数组组合的。新人抛砖引玉建设本吧!
2015年01月26日 14点01分 3
有想法,就实践出来吧。你编一个,然后把截图发上来。
2015年01月26日 15点01分
level 1
小函数的截图。
不过我觉得好像没什么场合需要使用,所以官方就没有提供。
题外话,mathcad很好用,就是缺少随时打印输出的功能,每次调试都得删掉后面的代码才能够看到之前一行的输出。
2015年01月26日 15点01分 5
程序调试函数在help里有些讲解,我没用过,我都是把大程序拆成零散的小函数那么做的。每个人编程的方法和风格都不一样。这是我推荐的https://tieba.baidu.com/p/3374289319
2015年01月26日 16点01分
这个双竖线怎么打出来?
2022年08月25日 07点08分
level 12
他这里要的不是对A的全组合(1 2 3; 1 3 2; 2 3 1;2 1 3;3 2 1;3 1 2),而是半组合(1 2 3;2 3 1;3 1 2),所以咱们原来编的那个perms()函数还用不上。
2015年01月26日 15点01分 6
受教了,if原来也可以在后面写的,输出可用error。[大拇指]
2015年01月26日 16点01分
level 12
嗯,“学爆”的方法更好,遍历中没有涉及判断,速度快,而且不存在“向量维数不等”的问题。
2015年01月26日 16点01分 7
level 4
feel0014 楼主
蒙拜!!!受教育了
但如果是对数组运行加法或乘法运算该如何实现,例如:c=a+2*b,其中a和b均为数组;
2015年01月26日 17点01分 8
level 12
“学爆”的程序也有问题,当a或b内的元素有重复的时候,结果的组合矩阵也会有重复。因此我用集合论函数重新做了一个。
2015年01月27日 00点01分 9
level 12
“feel”之后的问题就不涉及字符串操作了,这是很久以前的解:https://tieba.baidu.com/p/2787724019。各位感兴趣的也来试试看吧。
2015年01月27日 00点01分 10
自从了有MC吧档案之后,查旧帖确实是太方便了,避免了很多重复劳动。
2015年01月27日 00点01分
回复
���Ͻ���
:那个cooko的帖子和feel的题面有些区别,希望有吧友做出一个通用的自定义函数来解决这一类的数组计算问题。
2015年01月27日 00点01分
level 12
2015年01月27日 01点01分 11
level 12
实际上上式是对向量点乘的扩展:
2015年01月27日 01点01分 12
level 15
2015年01月27日 02点01分 13
level 13
这7年多的老帖了[哈哈]
还有一个不易发现的简单实现方法:
MATHCAD是一个有趣的软件[哈哈][吐舌]
2022年08月25日 11点08分 15
level 13
隐去了循环中的值域变量,调用更灵活一点
2022年08月25日 11点08分 16
大神 能帮我看看我的问题吗 谢谢你了[泪]
2023年01月07日 02点01分
1