作者:
BKD858 (Pz)
2015-07-09 16:08:42您好
我有一個矩陣
簡化為
12 25
14 54
16 -14
54 -47
57 22
61 44
74 -50
. .
. .
. .
現在我想把判斷第二行小於0的值加上360
並輸出為
12 25
14 54
16 346
54 313
57 22
61 44
74 310
.
.
.
不想用if(矩陣極大),想問問看有沒比較快的矩陣方法
麻煩大家了
作者:
s4300026 (s4300026)
2015-07-09 17:44:00find?
作者:
BKD858 (Pz)
2015-07-09 17:46:00find完加上360後要怎麼回歸成原本的排序方式
假設m是你的矩陣m(1, m(:, 2)<0)=m(1, m(:, 2)<0)+360更正m(:, m(:, 2)<0)=m(:, m(:, 2)<0)+360
作者:
BKD858 (Pz)
2015-07-09 18:05:00謝謝!但現在出現Index exceeds matrix dimensions維數錯誤
作者:
s4300026 (s4300026)
2015-07-09 18:22:00find是找矩陣index,不影響排序阿...
作者:
BKD858 (Pz)
2015-07-09 18:32:00請問可以在解釋詳細一點 目前卡在加完360後如何排回去原本矩陣中QQ 試出來了 a(find(a>0))=a(a<0)+360....
作者:
sunev (Veritas)
2015-07-09 23:35:00如果是角度問題,用mod可能直接一點m(:,2)=mod(m(:,2),360)
可以試試看這樣,假設矩陣為AA(:,2) = A(:,2)+(A(:,2)<0)*360;這樣<0的部分就會+360了
我的可以啊,你的維度是不是2 X N不是 n X 2你的find那個要注意 如果第一行有負的也會變成正沒辦法應對只想改部分矩陣的情況
作者:
BKD858 (Pz)
2015-07-10 16:08:00嗯我知道!我第一排原始資料是時間序列!所以OK 是N*2感謝各位先進!小弟受益匪淺~
作者:
name0625 (lawpy)
2015-07-14 20:22:00如果矩陣為A B=(A<0)*360; A=A+B; 如果第一行會出現<0眼殘沒看到有人回...