How to solve unknown number of equations

2 次查看(过去 30 天)
Let say I do not know the number of equation to be formed.
Let say I need n, the number of equations,
where n may vary from solving each time.
for i=1:n
syms vi vi+1 v-1
eqn i = (vi+1)^2+(vi-1)^2==20
end
So I get my n number of equation. However that won't work in matlab. Kindly suggest how to do the same.

回答(2 个)

Guru Mohanty
Guru Mohanty 2020-1-22
Hi, I understand you are trying to create number of equations. You can do this using syms. Here is a sample code.
clc;
clear all;
n=input("Enter Number of Equations to be formed: ");
syms v [1,n]
for i=1:n
eqn(i) = (v(i)+1)^2+(v(i)-1)^2==20;
disp(eqn(i));
end
  1 个评论
Yagna V
Yagna V 2020-1-22
thank you very much!
could you help me in solving the same equations with unknown variables

请先登录,再进行评论。


Guru Mohanty
Guru Mohanty 2020-1-25
Hi Yagna, You can solve the same equations using solve function in MATLAB.
Here is a sample code for it.
clc;
clear all;
% Forming Equation
n=2;
syms v [1,n]
for i=1:n
eq(i) = (v(i)+1)^2+(v(i)-1)^2==20;
disp(eq(i));
end
% Solving Equation
[v1_sol,v2_sol]= solve(eq,v);
disp(v1_sol);
disp(v2_sol);

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by