how to create a function to solve a series of equitions?

3 vues (au cours des 30 derniers jours)
Zhe Dong
Zhe Dong le 8 Avr 2024
Commenté : Zhe Dong le 8 Avr 2024
Hi Matlab users,
I want to write a function to help me solve a series of equtions, however I'm not sure how to achieve that. here's an example. The problem is that I want to calculate the unknowns 'a','b,'c', so I need to put it in the output of the function, in the mean time they are in the equtions, so I need to define them in the function, but how to define them if they are unkonwns?
function [a,b,c] = EqSol(var1,var2,var3,var4,var5,var6)
eq1 = a + b + c == 1;
eq2 = var3 == var1*a + var2*b;
eq3 = var6*var3 == var4*var1*a + var5*var2*b + c;
eqn = [eq1,eq2,eq3];
S = solve(eqn,[a,b,c]);
end

Réponse acceptée

VBBV
VBBV le 8 Avr 2024
if you have symbolic toolbox then you can define it inside the function as
function [a,b,c] = EqSol(var1,var2,var3,var4,var5,var6)
syms a b c
  2 commentaires
VBBV
VBBV le 8 Avr 2024
Modifié(e) : VBBV le 8 Avr 2024
After solving the equations then return the outputs as
a = S.a
b = S.b
c = S.c
Assuming varx ...1,,6 are known values
Zhe Dong
Zhe Dong le 8 Avr 2024
yes that works, many thanks for the help!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by