if f*g = h and I knew the given h and g how would I find f in matlab? Would I used a deconvolution program? Thanks

5 Ansichten (letzte 30 Tage)
if f*g = h and I knew the given h and g how would I find f in matlab? Would I used a deconvolution program? Also is there a least square program in matlaB? or a wiener deconvolution program?
Thanks

Antworten (2)

Image Analyst
Image Analyst am 15 Dez. 2013
Use matrix "division". Try this demo:
f=rand(4,3)
g = rand(3,5)
h=f*g
f2 = h / g % f2 will be the same as f
  3 Kommentare
Cheryl
Cheryl am 15 Dez. 2013
Bearbeitet: Walter Roberson am 15 Dez. 2013
f=[0 0 0 0 1 0 0.5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0];%function f
h1=[ 2.76077e-006 0.000746586 0.0407636 0.449702 1.02038 0.673993 0.540762
0.225414 0.0211304 0.0411355 0.44933 1 0.449329 0.040762 0.000746586
2.76077e-006 0 0 0 0 0 0 0 0]; function h
many thanks!
Image Analyst
Image Analyst am 15 Dez. 2013
You can't put h on different lines if there aren't the same number of elements on each line because it wants to put them into rows of a 2D matrix. Use the continuation symbols ... like this:
h1=[ 2.76077e-006 0.000746586 0.0407636 0.449702 1.02038 0.673993 0.540762,...
0.225414 0.0211304 0.0411355 0.44933 1 0.449329 0.040762 0.000746586,...
2.76077e-006 0 0 0 0 0 0 0 0] % function h

Melden Sie sich an, um zu kommentieren.


Cheryl
Cheryl am 15 Dez. 2013
When I tried this method, I got the following error using my data set. Any clue as to how to resolve this?
Error using vertcat CAT arguments dimensions are not consistent.
Many thanks!!!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by