Mathematica 如何实现交叉计算(二)?
题目
Mathematica 如何实现交叉计算(二)?
如何实现交叉计算(二)?
例如:
输入: s1={{1,2},{3,4},{5,6},{3,2}};
s2={{4,7},{24,31},{48,72}};
输出: s3={48,60,72}
说明: s1是乘法表,s2是与s1对应的区间表
下面的"相乘"表示两个表中任何两个元素相乘,如{1,2}与{3,4}相乘等于{3,4,6,8},其中两个表c1,c2"相乘"可用Table[c1[[j1]]*c2[[j2]],{j1,Length[c1]},{j2,Length[c2]}]函数.
首先取s1中前两个子表"相乘",并按s2中第1个区间取出一个表,再把这个表与s1中第3个子表"相乘",并按s2第2个子表的区间取出一个表,所得表再与s1第4个子表"相乘"并按s2第3个子表的区间取出一个表.依次交叉做下去.
上式子为: {1,2}与{3,4}"相乘"={3,4,6,8},取区间{4,7}={4,6}与{5,6} "相乘"={20,24,30,36} 取区间{24,31}={24,30}与{3,2}相乘={72,90,48,60} 取区间{48,72}={48,60,72}
谢谢!
答案
s1 = {{1,2},{3,4},{5,6},{3,2}};s2 = {{4,7},{24,31},{48,72}};s3 = Fold[Intersection[Times @@@ Tuples@{#1,#2[[1]]},Range @@ #2[[2]]] &,First@s1,Thread[{Rest@s1,s2}]]
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 什么是情态动词如何区别?
- 如果甲数的末尾去掉两个0正好等于乙数,那么甲数是乙数的( )倍?急!急!急!
- 从这篇文章中找出下列词语的近义词
- 一、一辆匀速前进的火车,从它进入600米隧道直到完全离开,共用30秒.又知在隧道顶部的一盏固定的灯发出的光束垂直照射在火车上有5秒钟,求火车的长度.
- 已知x的平方减4x减1等于0,求(2x-3)的平方-(x+y)(x-y)-y的平方
- 徐州云龙湖作文
- 少先队员去春游,每车坐45人,还有10人不能上车,如果每车坐50人,则空出一辆车,求共有多少少先队员?请问这题如何用算术的方法解答?
- 18时等于多少天?
- 启航新课堂八年级上物理第一节动与静的答案?急 超急的!
- 修改病句 他热情地和我握了握手.他那和善的眼睛里射出慈爱的光亮