2010-07-22 5 views

Répondre

0

Je ne sais pas quelles sont les capacités symboliques étaient disponibles pour la version 5.3.1 Matlab, mais vous pouvez résoudre votre problème en utilisant les fonctions COEFFS, SUBS et SOLVE du Symbolic Math Toolbox actuel:

>> 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)) 

Notez que les coefficients de sin(t) dans les deux équations de r2 sont égaux à 1 (la valeur I utilisée pour bValue).

Questions connexes