how to use solve

1 vue (au cours des 30 derniers jours)
alize beemiel
alize beemiel le 6 Avr 2023
Commenté : alize beemiel le 6 Avr 2023
hi ; i need help
I have this equation with 2 parametres a and b
syms b x a
solve ((2*cos(x) - b*(sin(x) + sin(a*x))) == 0) %chooses 'x' as the unknown and returns
I use solve but it return
Warning: Cannot find explicit solution.
  1 commentaire
VBBV
VBBV le 6 Avr 2023
Déplacé(e) : VBBV le 6 Avr 2023
Consider these input values for a and b, for which solve function cant handle the solution. In such cases, use vpasolve to solve equation numerically as recommended by Matlab
syms x real
a = 4; % assume some value
b = 1.5; % assume value
sol=solve ((2*cos(x) - b*(sin(x) + sin(a*x))) == 0,[x]) %
Warning: Unable to solve symbolically. Returning a numeric solution using vpasolve.
sol = 
0.31726439340850840945560345483897
sol = vpasolve((2*cos(x) - b*(sin(x) + sin(a*x))) == 0,[x])
sol = 
0.31726439340850840945560345483897

Connectez-vous pour commenter.

Réponse acceptée

VBBV
VBBV le 6 Avr 2023
syms b x a
sol=solve ((2*cos(x) - b*(sin(x) + sin(a*x))) == 0,[x a b])
sol = struct with fields:
x: [2×1 sym] a: [2×1 sym] b: [2×1 sym]
%chooses 'x' as the unknown and returns
sol.x
ans = 
sol.a
ans = 
sol.b
ans = 
  5 commentaires
alize beemiel
alize beemiel le 6 Avr 2023
this is what i want by using matlab
alize beemiel
alize beemiel le 6 Avr 2023
thank you Sir ..for your help and your time

Connectez-vous pour commenter.

Plus de réponses (1)

Chunru
Chunru le 6 Avr 2023
There is no close form solution when a and b are arbitrary constant for the equation.
If you want to find the numerical solution of the equation with specified a and b, you can use vpasolve:
syms b x a
solve ((2*cos(x) - b*(sin(x) + sin(a*x))) == 0)
Warning: Unable to find explicit solution. For options, see help.
ans = Empty sym: 0-by-1
a = 2; b=0.1;
vpasolve ((2*cos(x) - b*(sin(x) + sin(a*x))) == 0) %chooses 'x' as the unknown and returns
ans = 
7.7984925986314595610243884059956
  3 commentaires
Chunru
Chunru le 6 Avr 2023
MATLAB tell you that its solver could not find the explicit solution.
alize beemiel
alize beemiel le 6 Avr 2023
thank you for all
i will try to use Newton Raphson Methode maybe its give me an approximate solution

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by