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

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

回答 (2 件)

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 件のコメント

Image Analyst
Image Analyst 2013 年 12 月 15 日
You forgot to post your data set.
Cheryl
Cheryl 2013 年 12 月 15 日
編集済み: Walter Roberson 2013 年 12 月 15 日
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!
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

サインインしてコメントする。

Cheryl
Cheryl 2013 年 12 月 15 日
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!!!

1 件のコメント

Walter Roberson
Walter Roberson 2013 年 12 月 15 日
When you tried which method? There is no "vertcat" in anything you have shown so far.

サインインしてコメントする。

カテゴリ

質問済み:

2013 年 12 月 15 日

コメント済み:

2013 年 12 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by