Nella funzione "manca" una parentesi, non si capisce se la funzione sia:
c=4*pi*a*b*p/(s*(1-(1-p)*b/d))
oppure
c=4*pi*a*b*p/(s*(1-(1-p))*b/d)
inoltre non è definito come varia il parametro "d" e come variano i parametri "b" e "p"
Se il parametro che deve variare è solo "d":
%
% inizializzazione dei parametri
%
a=1;
b=1;
p=2*b;
s=1;
%
% parametro d:
% variazione dal valore minimo "val_min" al valore massimo "val_max" con passo "passo"
% es:. val_min=1; passo=2; val_max=10; ==> d=1, 3, 5, 7, 9;
%
d=val_min:passo:val_max;
%
% oppure variazione in base ad un vettore in input:
%
d=in_vettore;
%
In modo analogo nel caso a variare siano i parametri "b" e "p".
La cosa importante è ricordare che gli operatori "*" e "/" quando operano sui parametri dei quali sopra, vengano preceduti da un punto ==> .* oppure ./, questo per evitare l'errore:
Error using *
Inner matrix dimensions must agree.
Hope this helps.