[問題] 限制條件最小二乘法lsqlin

看板MATLAB作者 (魯到入味)時間1年前 (2023/06/15 18:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家好,目前使用lsqlin有遇到一個問題, 我有兩張在同一位置、角度、同時所拍攝同物影像, 這兩張影像除了一張黑白一張彩色外其他都相同, 我想要用lsqlin找出彩色影像中各波段灰階對於黑白影像灰階的關係, 其中假設兩張影像像素的灰階值有以下關係: BW=w1B+w2G+w3R+c,也就是黑白影像(BW)除了由各單色組(B、G、R)加權(w1~w3)組成外, 還帶有一個常數c。 此外,還有一些限制,w1~w3總合為1,且w1~w3非負 因此使用lsqlin如下 [w1; w2; w3; c]= lsqlin([B(:), G(:), R(:), ones], BW(:),[],[], Aeq, Beq, LB, UB); Aeq=[1 1 1 0]; Beq=1; LB=[0 0 0 -inf]; UB=[1 1 1 inf]; 希望藉由Aeq與Beq使所解出w1~w3總合為1,而LB與UB限制所解出w1~w3非負。 常數c的部分則無另外限制。 但實際操作後發現能解出一組w1~w3符合後者條件,但總和卻小於1(不到0.9) 想請教版上大大們,是否我哪邊使用上有問題?或是從根本上來說是我的數學概念有誤? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.25.139 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1686825048.A.7EC.html
文章代碼(AID): #1aYkXOVi (MATLAB)
文章代碼(AID): #1aYkXOVi (MATLAB)