Re: [問題] 新手提問關於矩陣
※ 引述《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,
4年前
, 1F
12/05 19:31, 1F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章