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