Making the assumption to be the same as results

2 vues (au cours des 30 derniers jours)
Kevin Isakayoga
Kevin Isakayoga le 26 Oct 2020
Commenté : KSSV le 26 Oct 2020
Hi everyone! I dont know how to fit the parameter of b and n in my code to get the calculation of area equal 1. Could someone help me to modify it? I literally confuse how to fix this up. Thank you in advance before!
ro_init=0.2:0.1:100;
b=0.0517; % assume
n=1.0145; % assume
cdfVdp=(1-exp(-b*((2*ro_init).^n)));
pdfvdp=2*b*n*exp(-b*(2*ro_init).^n).*(2*ro_init).^(n-1);
area=trapz(ro_init,pdfvdp); %this results should be 1
  2 commentaires
KSSV
KSSV le 26 Oct 2020
Do you have range of values for b and n?
Kevin Isakayoga
Kevin Isakayoga le 26 Oct 2020
b is from 0 to 0.1 n is from 0.8 to 2

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 26 Oct 2020
Modifié(e) : KSSV le 26 Oct 2020
ro_init=0.2:0.1:100;
r = 200 ; c = 200 ; % Try increasing these values
B = linspace(0,0.1,r) ;
N = linspace(0.8,2,c) ;
[B,N] = meshgrid(B,N) ;
A = zeros(r,c) ;
for i = 1:r
for j = 1:c
b=B(i,j) ; % 0.0517; % assume
n=N(i,j) ; % 1.0145; % assume
% cdfVdp=(1-exp(-b*((2*ro_init).^n)));
pdfvdp=2*b*n*exp(-b*(2*ro_init).^n).*(2*ro_init).^(n-1);
area=trapz(ro_init,pdfvdp); %this results should be 1
A(i,j) = area ;
end
end
% GEt area equal to one
idx = abs(A-1)<10^-3 ;
[B(idx) N(idx)] % these are the values of b and n
  3 commentaires
Kevin Isakayoga
Kevin Isakayoga le 26 Oct 2020
Modifié(e) : Kevin Isakayoga le 26 Oct 2020
By the way ,could you help me to explain why are my codes still not working if i change the value? and also what should i change?
clc;clear;
n=1000; %number of trial
rlower=0.002;
rupper=130; % Assume the initial radius in micron meter
r_initial=rlower+(rupper-rlower).*rand(1,n);
r_initial=sort(r_initial);
%r_initial=0.2:0.1:100;
r = 500 ; c = 500 ; % Try increasing these values
B = linspace(0.01,0.09,r) ;
N = linspace(0.9,1.4,c) ;
[B,N] = meshgrid(B,N) ;
A = zeros(r,c) ;
for i = 1:r
for j = 1:c
b=B(i,j) ; % 0.0517; % assume
n=N(i,j) ; % 1.0145; % assume
% cdfVdp=(1-exp(-b*((2*ro_init).^n)));
pdfvdp=2*b*n*exp(-b*(2*r_initial).^n).*(2*r_initial).^(n-1);
area=trapz(r_initial,pdfvdp); %this results should be 1
A(i,j) = area ;
end
end
% GEt area equal to one
idx = abs(A-1)<10^-3 ;
[B(idx) N(idx)] % these are the values of b and n
the answer will be like this,
ans =
0×2 empty double matrix
Looking forward to hearing from you. Thank you!
KSSV
KSSV le 26 Oct 2020
Try decreasing the tolerance value.
idx = abs(A-1)<10^-2 ;

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differentiation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by