Re: [問題] 新手提問關於矩陣

看板MATLAB作者 (郝渴連)時間3年前 (2020/12/05 09:48), 編輯推噓1(100)
留言1則, 1人參與, 3年前最新討論串3/3 (看更多)
※ 引述《Willful1 (自強不息!!)》之銘言: : 引用原po文章,再請教大家2個小問題 : 若是有3個(或以上)數列 : x=(x1,x2,…,xn) : y=(y1,y2,…,yn) : z=(z1,z2,…,zn) : 1. : 該如何才能整理成一個數列 : [(x1,y1,z1),(x2,y2,z2),……,(xn,yn,zn)] xyzMat = [x; y; z]; % [x1, x2, ..., xn] % = [y1, y2, ..., yn] % [z1, z2, ..., zn] % 法一 xyzArray = reshape(xyzMat, []).'; % 法二 xyzArray = xyzMat(:).'; : 2. : 經過一些運算後,數列中元素的數目減少為 : [(x1,y1,z1),(x2,y2,z2),……,(xm,ym,zm)] : 如何藉由找出y中的最大值ym的方式, : 順帶找出與ym同組的xm以及zm? % 法一: 你指定的方式 % yMaximum % xyzArray = [(x1,y1,z1),(x2,y2,z2),……,(xm,ym,zm)] % iY = [ 2 5 3*M-1 ] % idxYmax = 2 % iY = 2:3:3*m; [yMax, idxYmax] = max(xyzArray(iY)); iYmax = iY(idxYmax); iXmax = iYmax - 1; iZmax = iYmax + 1; xMax = xyzArray(iXamx); zMax = xyzArray(iZmax); % 法二: 建議的方式 % % 1. 把 xyzMax 看成 column vector 組成的 array % 這樣就不用 xyzArray 了 % % xyzMat = [v1, v2, ..., vn] % % [xi] % vi = [yi] = xyzMat(:, i) % [zi] % % 2. 若要刪除某組可以這樣 % % iDelete = 2; % xyzMat(:, iDelete) = []; % % [x1, x3, ..., xn] % xyzMat = [y1, y3, ..., yn] % [z1, z3, ..., zn] % % = [v1, v3, ..., vn] % [yMax, iYmax] = max(xyzMat(2, :)) xMax = xyzMat(1, iYmax); zMax = xyzMat(3, iYmax); or [~, iYmax] = max(xyzMat(2, :)) vYMax = xyzMat(:, iYmax) : 謝謝大家幫忙 : ※ 引述《sju93404077 ()》之銘言: : : 我是Matlab新手,想請各位高手幫忙協助 : : 問題如下 : : Sim1=[xxx]; : : Sim2=[AAA]; : : . : : . : : . : : Sim24=[CCC]; : : 輸出成一個陣列 : : Sim1 Sim2 ... Sim24 : : Sim=[ , , ... , ]; : : 要如何去撰寫 : : 麻煩提示一下,萬分感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.19.200 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1607132938.A.3F7.html

12/05 19:31, 3年前 , 1F
謝謝m大解答~!
12/05 19:31, 1F
文章代碼(AID): #1VokSAFt (MATLAB)
文章代碼(AID): #1VokSAFt (MATLAB)