Re: [问题] 矩阵元的取代

楼主: leo80042 (嗯嗯啊啊去洗澡)   2013-07-18 08:00:48
※ 引述《a29788685 (嘉峰)》之铭言:
: 请问(1):
: 例如目前有一个矩阵{{a,b,c},{d,e,f}....}
: 我想要判定第一个矩阵元,即上矩阵中的a d ..等,
: 就像是If[a<1,c,a],然后应用在每条列矩阵一样,
: =>{{If[a<1,c,a],b,c},{If[d<1,f,d],e,f}.....},
: 不过由于矩阵太庞大,没办法一条一条打,不知道有没有比较方便的方法?
假设你的矩阵叫A,则
{If[A[[#, 1]] < 1, A[[#, 3]], A[[#, 1]]], A[[#, 2]], A[[#, 3]]} & /@
Range[Dimensions[A][[1]]]
: 请问(2):
: 我想要提取矩阵元,然后放到新的矩阵之中,
: 例如:一样的矩阵A={{a,b,c},{d,e,f}....}
: 我想要取前两个矩阵元,并将A改写成A={{a,b},{d,e}....}
: 我想到的方法是:
: B={{A[[1,1]],A[[1,2]]},{A[[2,1]],A[[2,2]]}...}这样,
: 但是一样的,我矩阵共有三千多个矩阵元,没办法一个一个打,
: 想请教一下有没有比较方便的方法?
: 非常感谢!
B={A[[#,1]],A[[#,2]]}&/@Range[Dimensions[A][[1]]]
作者: chungyuandye (养花种鱼数月亮赏星星)   2013-07-18 09:56:00
{If[#[[1]]<1,#[[3]],#[[1]]],#[[2]],#[[3]]}&/@AA[[All,{1,2}]] 取出A每列的第一及第二个元素Length[A]其实可以取代Dimensions[A][[1]]
楼主: leo80042 (嗯嗯啊啊去洗澡)   2013-07-18 11:42:00
感谢指教~~~好方法
作者: a29788685 (嘉峰)   2013-07-18 20:00:00
谢谢,受益良多!!

Links booklink

Contact Us: admin [ a t ] ucptt.com