Чтобы solve использовал конкретные значения параметров, делают так:
Код:
xx=solve('x^3+mu*x^2+b*x+mu^2=0','mu = 4','b = 1');
Но параметры подаются извне, а в solve надо вводить их как строки. Значит надо преобразовать (например, с помощью функции num2str) их в строку и отправить в solve. Вот так:
Код:
function [] = f(a1,a2)
mu = 0.5;
b = a2/a1;
strmu = num2str(mu);
strb = num2str(b);
xx=solve('x^3+mu*x^2+b*x+mu^2=0',['mu = ',strmu],['b = ',strb]);
x = double(xx.x); %искомое решение, здесь происходит преобразование в тип double из sym
end