Array Valued Integral Problem - Tikhonov Regularization

1 view (last 30 days)
I am working on a script to perform Tikhonov Regularization on experimental data. I need to first set up an operator matrix K (this is the problem) that transforms the desired solution f (a vector) into the experimental data b (also a vector), ie, Kf=b. In other words, I aim to solve a Fredholm Integral equation of the first kind using the Tikhonov method.
K depends on two parameters, r (distance) and t (time). At each r and t, the integral along z should return a scalar to populate that element in the array.
I am encountering this error message: Warning: Reached the limit on the maximum number of intervals in use. Approximate bound on error is 1.5e-01. The integral may not exist, or it may be difficult to approximate numerically to the requested accuracy.
The relevant code:
b_magn = 9.27400968E-24; %bohr magneton (J/T)
gamma_e = 1.760859708E11; %gyromagnetic ratio of electron (rad/(s*T))
planck = 6.62606957E-34; %planck's constant (J*s)
hbar = planck/(2*pi); %planck's reduced constant
r = [1 : .01 : 11]; %nm
t = [0 : .01 : 10]; %us
omega_d = gamma_e^2*hbar./(r*1e-9).^3;
for it = 1:numel(t);
for ir = 1:numel(r);
y = @(z) cos((1-3.*z.^2)*(t(it)*1e-6).*omega_d(ir));
K = integral(y,0,1,'Arrayvalued',true); %operator matrix
end
end
[U,S,V] = svd(K);
The function y and the bounds of integration seem innocuous enough. I do not know where I am running into issue.
Thanks!

Answers (0)

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!