看板 MATLAB 關於我們 聯絡資訊
※ 引述《s4300026 (s4300026)》之銘言: : syms unknown_variables; : P=[]; : ss = length(X); : for ii = 1:ss-1 : for jj = ii+1:ss : P=[P;A(ii,:)*A(jj,:)']; : end : end : solve(P) : 最笨的做法~~~ 呼叫 celestialgod 補充~~~ 不好意思 我試了很久 但是搞不出來 matlab 一直busy中跑不出結果... 以下是我的程式碼 我用小維度的矩陣來測試就這樣了 請求幫忙看一下有沒有寫錯 謝謝 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X = sym('X',[4,3]);%complex P = []; [sizeX, sizeY]=size(X); sizE = 0; while 1 G = []; Y = ones(sizeX,sizeY); %對於X的每個row向量 隨機給定零元素 for i = 1:sizeX r = randperm(sizeY);%sizeY個排序 sizE = sizeY-2;%零元素個數 b = r(1:sizE);%零元素位置 for j = 1:sizE G = [G;X(i,b(j))==0]; Y(i,b(j)) = 0; end end %不要產生出全零col向量 %藉由Y來判定 breakflg = true; for i = 1:sizeY if ~any(Y(:,i)) breakflg = false; break; end end if breakflg break; end end P=[P;G]; %X'*X=I(identity matirx) %等於0的部份 for i = 1:sizeY for j = 1:sizeY if i==j continue; end P=[P;X(:,j)'*X(:,i)==0]; end end %等於1的部份 for i = 1:sizeY P=[P;X(:,i)'*X(:,i)==1]; end Z = solve(P,X); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.14.250 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1449478411.A.791.html
celestialgod: 14個式子解8個未知數? 12/07 17:33
celestialgod: 我跑出來都是無解阿qq 12/07 17:33
celestialgod: 更正,是13個式子 12/07 17:34
celestialgod: 十個一樣 http://pastebin.com/XgV1S40X 12/07 17:39
NoManInCar: 對 但我用手算是有解的 虛數解 12/07 18:52
NoManInCar: 想說讓他有無限多組解 之後我隨便挑一個來用 12/07 18:55
s4300026: matlab 有辦法算無限多組解嗎? 12/08 22:32
s4300026: 仔細深入後還發現如果未知數遮的不好,還會減rank 12/08 22:34
s4300026: 但matlab似乎看不出來... 12/08 22:35
NoManInCar: 這也是我想知道的XD 對matlab不是很熟悉 12/09 13:42