Nella chiamata alla funzione "fzero" devi fornire l'handle della funzione della quale vuoi trovare la radice ed il punto iniziale dal quale cominciare la ricerca, come hai giustamente fatto.
Il problema è che hai definita in modo che accetti tre parametri di input (a,b.x), ma "fzero" si aspetta, in input, una funzione del tipo "Y=f(x)" per cui interpreta in modo scorretto i parametri "a" e "b".
Nella tua ultima domanda, non è chiaro se tutto il codice che hai pubblicato è contenuto all'interno della funzione "funrif".
La funzione da passare in input a "frzero" dovrebbe consistere solo delle istruzioni che definiscono la funzione per cui, per cominciare, dovresti spostare in un'altra funzione o in uno script il codice relativo al plottaggio.
La soluzione più semplice consiste nel:
[*] definire la tua funzione come una
Anonymous Function in modo da poter specificare gli eventuali parametri aggiuntivi oltre alla variabile indipendente (x)
[*] incapsulare la tua funzione in un'altra Anonymous Function che sia funzione di una sola variabile
[*] fornire questa seconda Anonymous Function in input alla funzione "fzero"
[*] usare la prima Anonymous Function per calcolare i valori della tua funzione per il plottaggio
Una possibile implementazione potrebbe essere (al fondo del codice ho aggiunto l'istruzione per il plottaggio della radice):
% Definizione della funzione
my_func=@(x,a,b) (a.*sin(x).*exp(5-0.01.*x.^2)+b.*(x.^2+4.*x+5));
% Definizioine dei parametri
a=5;
b=2;
% Incapsulamento della funzione
funris=@(x) my_func(x,a,b)
% Calcolo della radice
z=fzero(funris,3)
% Plot dei risultati
% Definizione delle ascisse
x=(-4:.1:9);
% Calcolo deivalori della funzione
y=my_func(x,a,b);
% Creazione del grafico
figure
plot(x,y,'-r')
hold on
line([-4 9],[0 0]);
xlabel ('asse delle ascisse (x)');
ylabel('asse delle ordinate (y)');
text([-3.1349 -0.0134 3.2266 6.0268],[0 0 0 0],' \leftarrow zero' );
grid;
text([-1.55 4.6 1.55 7.8],[-720.96 -507.62 750.5799 597.3395],{'\leftarrow punto di minimo 1','\leftarrow punto di minimo 2','\leftarrow punto di massimo 1','\leftarrow punto di massimo 2'});
line([-4 -1.55],[-720.96 -720.96], 'Color' , 'green' , 'LineStyle' , '-.');
line([-4 4.6],[-507.62 -507.62], 'Color' , 'green' , 'LineStyle' , '-.');
line([-4 1.55], [750.5799 750.5799], 'Color' , 'green' , 'LineStyle' , '-.');
line([-4 7.8],[597.3395 597.3395], 'Color' , 'green' , 'LineStyle' , '-.');
%
%%%%%%%%%%%%%%%%%
% PLOT THE ROOT %
%%%%%%%%%%%%%%%%%
%
plot(z,0,'d','markerfacecolor','r','markeredgecolor','r')