Non linear equation containing integral
Mostra commenti meno recenti

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 Nt

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 Commenti
Matt J
il 3 Giu 2019
Do the values you are getting solve the equations?
Anil Kumar
il 3 Giu 2019
Anil Kumar
il 3 Giu 2019
Anil Kumar
il 3 Giu 2019
SACHIN VERMA
il 29 Mag 2020
sir, i also got stuck in simlar problem, please help if anyone knows how to solve it for complicated functions like above...
Risposte (0)
Categorie
Scopri di più su Mathematics in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!