how do i solve this non linear system?

3 Ansichten (letzte 30 Tage)
Jaime
Jaime am 4 Mär. 2013
Hello, i must say that im not really good programing with matlab, i have this problem (i´ll explain it very fast):
1º I made a function that give me a vector made of real numbers i(1,6). 2º With that vector i, i would like to build and solve the next system:
f(1)= x(1)*x(2)*x(3)-i(1);
f(2)= x(1)*x(6)*x(3)-i(2);
f(3)= x(5)*x(2)*x(3)-i(3);
f(4)= x(5)*x(6)*x(3)-i(4);
f(5)= x(4)*x(2)*x(3)-i(5);
f(6)= x(4)*x(6)*x(3)-i(6);
For doing it, i tried the suggestion in this video:
And if i do it, giving constant values to i (instead of using the vector i), i can solve the system, but when i introduce i, matlab says: undefined variable i... and several more errors.
I hope that everybody can understand what i mean, and i would be really gratefull if you can help me with it. Thanks you very much!
  2 Kommentare
Brian B
Brian B am 4 Mär. 2013
Can you post more of your code?
Jaime
Jaime am 4 Mär. 2013
I want to do exactly the same as in example 1(scroll down after opening), but my problem is that myfun.m file looks like this:
function [f]=ecuaciones(x,i)
f(1)= x(1)*x(2)*x(3)-i(1)
f(2)= x(1)*x(6)*x(3)-i(2)
f(3)= x(5)*x(2)*x(3)-i(3)
f(4)= x(5)*x(6)*x(3)-i(4)
f(5)= x(4)*x(2)*x(3)-i(5)
f(6)= x(4)*x(6)*x(3)-i(6)
as you see, for building my system i also need i, not only x. So when i call it with fsolve it doesn´t work.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Brian B
Brian B am 4 Mär. 2013
Bearbeitet: Brian B am 4 Mär. 2013
fsolve will only pass in a single argument, so i will be undefined. Assuming you want to solve this equation for fixed values of i (say i = ibar) you can use an anonymous function like this:
ibar = (1:6);
ecuaciones_con_i = @(x) ecuaciones(x, ibar);
Then pass ecuaciones_con_i to fsolve (without a @, since it is already a function handle):
xbar = fsolve(ecuaciones_con_i, x0);
  1 Kommentar
Jaime
Jaime am 4 Mär. 2013
it worked very well now!, thanks you very much, you saved me! :p

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by