Borrar filtros
Borrar filtros

Non linear equation containing integral

1 visualización (últimos 30 días)
Anil Kumar
Anil Kumar el 3 de Jun. de 2019
Comentada: SACHIN VERMA el 29 de Mayo de 2020
I am bit new with matlab programming. I want to solve the above equation for phi0 but getting problem using solve function. Please help me. I expect a solution like this: different phi0 for different Ntpicture 1.png
clc;clear;close all;
warning('off')
% number of data points for r, R and Et-Ef
N = 100;
% define the parameters
Nd = 1e24;
e = 12*1e-12;
r = 40*1e-9
R = 40*1e-9;
Et_Ef = 0.21*1.6*1e-19;
K = 1.3807e-23;
T = 600;
Nt = 1e11;
q = 1.6e-19;
for j = 1:length(Nt)
% initializing
LHS_vals = [];
RHS_vals = [];
P = [];
% loop to solve LHS - RHS = 0 N times
for i = 1:N
syms phi0
Ld = sqrt(e*K*T/(q^2*Nd));
integrand = @(r)Nd-(Nd.*exp(-1.*(phi0+(1./6).*(r(i)/Ld).^2)));
LHS = integral (integrand,0,40*10^-9);
RHS = 4.*pi.*R.^2.*Nt./(1+2.*exp(Et_Ef + K.*T .*(phi0 + (1/6).*(r(i)./Ld).^2)));
eq = LHS - RHS==0;
phi0 = solve(eq,phi0)
if ~isempty(phi0)
LHS_vals(end+1) = eval(LHS);
RHS_vals(end+1) = eval(RHS);
P(end+1) = phi0;
fprintf('LHS - RHS = %1.2e\n',eval(LHS) - eval(RHS))
end
end
%Plotting the Figure
if ~isempty(P)
figure()
hold on
plot(P,RHS_vals,'r--')
plot(P,LHS_vals,'b--')
hold off
xlabel('\phi_0')
ylabel('LHS,RHS')
ax = gca;
ax.YScale = 'log';
legend('RHS','LHS')
end
end
%plot (r,phi0)
  5 comentarios
Anil Kumar
Anil Kumar el 3 de Jun. de 2019
It has been a long time I am stuck in this problem! Please help me.
SACHIN VERMA
SACHIN VERMA el 29 de Mayo de 2020
sir, i also got stuck in simlar problem, please help if anyone knows how to solve it for complicated functions like above...

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by