Hello all,
This is my question:
let "y" and "d" two vectors with five elements each one.
I need the area of their product so I have used the sentence:
>>area=trapz(y.*d)
Now I would like to get "y", which is supposed to be unknow, having
vector "d" and number "area" as data.
Is it possible to do with matlab?
My idea was like:(let "s" the symbol for "integral" and
"a=0","b=10",the extremes of the definite integral):
aSb(y.*d)=area
now, using the fourier transform propriety:
fft(aSb(y.*d))=(1/jw)*fft(y.*d)
I should have:
(1/jw)*fft(y.*d)=fft(area); ==> fft(y.*d)= jw*fft(area)
And finally:
y=ifft(jw*fft(area))./d
it doesn't works, but i don't know why.(actually I have some ideas
but I don't know how to go on)
Any suggest would be very appreciated.
thank you in advance.
|
|
0
|
|
|
|
Reply
|
eureka_ (27)
|
9/15/2006 7:34:50 AM |
|
In article <ef40d42.-1@webcrossing.raydaftYaTP>, andrea
<eureka_@libero.it> wrote:
> Hello all,
> This is my question:
> let "y" and "d" two vectors with five elements each one.
> I need the area of their product so I have used the sentence:
> >>area=trapz(y.*d)
>
> Now I would like to get "y", which is supposed to be unknow, having
> vector "d" and number "area" as data.
> Is it possible to do with matlab?
>
> My idea was like:(let "s" the symbol for "integral" and
> "a=0","b=10",the extremes of the definite integral):
>
> aSb(y.*d)=area
>
> now, using the fourier transform propriety:
>
> fft(aSb(y.*d))=(1/jw)*fft(y.*d)
>
> I should have:
>
> (1/jw)*fft(y.*d)=fft(area); ==> fft(y.*d)= jw*fft(area)
>
> And finally:
>
> y=ifft(jw*fft(area))./d
>
> it doesn't works, but i don't know why.(actually I have some ideas
> but I don't know how to go on)
> Any suggest would be very appreciated.
> thank you in advance.
----------------------
I'm afraid you have set yourself up to do an impossible task. Knowing
only the value of the integral (area) and the vector d, there is no way to
uniquely determine y. Infinitely many y vectors would give the same
integral. What you have is five unknowns and only one linear equation,
which is not enough to solve the problem. You need to place four more
conditions on y to achieve that.
Roger Stafford
|
|
0
|
|
|
|
Reply
|
ellieandrogerxyzzy (4732)
|
9/15/2006 8:37:22 AM
|
|
"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in
message
news:ellieandrogerxyzzy-1509060137220001@dialup-4.232.228.54.dial1.losangeles1.level3.net...
> In article <ef40d42.-1@webcrossing.raydaftYaTP>, andrea
> <eureka_@libero.it> wrote:
>
>> Hello all,
>> This is my question:
>> let "y" and "d" two vectors with five elements each one.
>> I need the area of their product so I have used the sentence:
>> >>area=trapz(y.*d)
>>
>> Now I would like to get "y", which is supposed to be unknow, having
>> vector "d" and number "area" as data.
>> Is it possible to do with matlab?
>>
>> My idea was like:(let "s" the symbol for "integral" and
>> "a=0","b=10",the extremes of the definite integral):
>>
>> aSb(y.*d)=area
>>
>> now, using the fourier transform propriety:
>>
>> fft(aSb(y.*d))=(1/jw)*fft(y.*d)
>>
>> I should have:
>>
>> (1/jw)*fft(y.*d)=fft(area); ==> fft(y.*d)= jw*fft(area)
>>
>> And finally:
>>
>> y=ifft(jw*fft(area))./d
>>
>> it doesn't works, but i don't know why.(actually I have some ideas
>> but I don't know how to go on)
>> Any suggest would be very appreciated.
>> thank you in advance.
> ----------------------
> I'm afraid you have set yourself up to do an impossible task. Knowing
> only the value of the integral (area) and the vector d, there is no way to
> uniquely determine y. Infinitely many y vectors would give the same
> integral. What you have is five unknowns and only one linear equation,
> which is not enough to solve the problem. You need to place four more
> conditions on y to achieve that.
>
> Roger Stafford
Or if you are willing to find only some best approximation based on certain
norms. For example, a least-squares approximation based on 2-norm.
Regards,
by Cheng Cosine
Sep/16/2k6 NC
|
|
0
|
|
|
|
Reply
|
acosine1 (103)
|
9/16/2006 6:06:28 PM
|
|
Thank you Roger and Cheng.
I knew my problem was unsolvable, or better, it's an ill-posed
problem.
I'm now searching on deconvolution and blind deconvolution
topics.Maybe there's something helpful to my problem.
Does anyone know if there is a matlab program that makes a
least-squares approximation?
Or maybe a matab program for the Lucy-Richardson deconvolution?
Maybe someone has already written this kind of programs.
Thank you in advance for your kindness.
Andrea
>
>
>
> "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid>
wrote
> in
> message
>
news:ellieandrogerxyzzy-1509060137220001@dialup-4.232.228.54.dial1.l
> osangeles1.level3.net...
>> In article <ef40d42.-1@webcrossing.raydaftYaTP>, andrea
>> <eureka_@libero.it> wrote:
>>
>>> Hello all,
>>> This is my question:
>>> let "y" and "d" two vectors with five elements each one.
>>> I need the area of their product so I have used the
sentence:
>>> >>area=trapz(y.*d)
>>>
>>> Now I would like to get "y", which is supposed to be
unknow,
> having
>>> vector "d" and number "area" as data.
>>> Is it possible to do with matlab?
>>>
>>> My idea was like:(let "s" the symbol for "integral" and
>>> "a=0","b=10",the extremes of the definite integral):
>>>
>>> aSb(y.*d)=area
>>>
>>> now, using the fourier transform propriety:
>>>
>>> fft(aSb(y.*d))=(1/jw)*fft(y.*d)
>>>
>>> I should have:
>>>
>>> (1/jw)*fft(y.*d)=fft(area); ==> fft(y.*d)= jw*fft(area)
>>>
>>> And finally:
>>>
>>> y=ifft(jw*fft(area))./d
>>>
>>> it doesn't works, but i don't know why.(actually I have
some
> ideas
>>> but I don't know how to go on)
>>> Any suggest would be very appreciated.
>>> thank you in advance.
>> ----------------------
>> I'm afraid you have set yourself up to do an impossible task.
> Knowing
>> only the value of the integral (area) and the vector d, there
is
> no way to
>> uniquely determine y. Infinitely many y vectors would give the
> same
>> integral. What you have is five unknowns and only one linear
> equation,
>> which is not enough to solve the problem. You need to place
four
> more
>> conditions on y to achieve that.
>>
>> Roger Stafford
>
> Or if you are willing to find only some best approximation based
> on certain
>
> norms. For example, a least-squares approximation based on 2-norm.
>
> Regards,
> by Cheng Cosine
> Sep/16/2k6 NC
>
>
>
|
|
0
|
|
|
|
Reply
|
eureka_ (27)
|
9/18/2006 8:59:28 AM
|
|
andrea schrieb:
> Does anyone know if there is a matlab program that makes a
> least-squares approximation?
well...i'm used to Matlab Optimization Toolbox, fully operational!
Otherwise i found code and papers of Per C. Hansen a source of delight!
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=52&objectType=file
Ciao
neurino
|
|
0
|
|
|
|
Reply
|
lelli.luca (8)
|
9/18/2006 9:05:38 AM
|
|
|
4 Replies
38 Views
(page loaded in 0.099 seconds)
|