Mathematica 如何实现交叉计算?
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/07/17 11:23:13
Mathematica 如何实现交叉计算?
如何实现交叉计算?
例如:
输入:s1={{1,2},{3,4},{5,6,7}};
s2={{4,7},{24,36}};
输出:s3={24,28,30,36}
说明:s1是乘法表,s2是区间表.下面的"相乘"表示两个表中任何两个元素相乘
首先取s1中{1,2}与{3,4}"相乘"等于{3,4,6,8},取s2中第1个区间值{4,7}得到{4,6},再把
{4,6}与{5,6,7}"相乘"得到{20,24,28,30,36,42},取s2中第2个区间值{24,36}得到{24,28,30,36},当有更多子表时依次类推.
如何实现交叉计算?
例如:
输入:s1={{1,2},{3,4},{5,6,7}};
s2={{4,7},{24,36}};
输出:s3={24,28,30,36}
说明:s1是乘法表,s2是区间表.下面的"相乘"表示两个表中任何两个元素相乘
首先取s1中{1,2}与{3,4}"相乘"等于{3,4,6,8},取s2中第1个区间值{4,7}得到{4,6},再把
{4,6}与{5,6,7}"相乘"得到{20,24,28,30,36,42},取s2中第2个区间值{24,36}得到{24,28,30,36},当有更多子表时依次类推.
![Mathematica 如何实现交叉计算?](/uploads/image/z/17237631-39-1.jpg?t=Mathematica+%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E4%BA%A4%E5%8F%89%E8%AE%A1%E7%AE%97%3F)
"再把{4,6}与{5,6,7}"相乘"得到{20,24,28,30,36,42}"可以用
Times @@@ Tuples@{{4,6},{5,6,7}}
"取s2中第2个区间值{24,36}得到{24,28,30,36}"可以用
Select[%,IntervalMemberQ[Interval@{24,36},#] &]
Times @@@ Tuples@{{4,6},{5,6,7}}
"取s2中第2个区间值{24,36}得到{24,28,30,36}"可以用
Select[%,IntervalMemberQ[Interval@{24,36},#] &]