Я не знаю, какие символические возможности были доступны для MATLAB версии 5.3.1, но вы можете решить вашу проблему, используя функции COEFFS , SUBS и SOLVE из текущего Symbolic Math Toolbox :
>> eqCoeffs = coeffs(r1,sin(t)); %# Get coefficients for polynomial in sin(t)
>> b = eqCoeffs(2); %# Second coefficient is what you want
>> bValue = 1; %# The value to set the coefficient equal to
>> newA0 = solve(subs('b = bValue'),A0) %# Solve for A0
newA0 =
-(2*3^(1/2)*(k - 2)^(1/2))/(3*k^(1/2)) %# Note there are two values since
(2*3^(1/2)*(k - 2)^(1/2))/(3*k^(1/2)) %# A0 is squared in the equation
>> r2 = subs(r1,A0,newA0) %# Substitute the new A0 values into r1
r2 =
sin(t) + (sin(3*t)*(k - 2))/3 - (2*3^(1/2)*sin(5*t)*(k - 2)^(1/2))/(3*k^(1/2))
sin(t) + (sin(3*t)*(k - 2))/3 + (2*3^(1/2)*sin(5*t)*(k - 2)^(1/2))/(3*k^(1/2))
Обратите внимание, что коэффициенты sin(t)
в двух уравнениях r2
равны 1 (значение, которое я использовалдля bValue
).