how do i solve this non linear system?

조회 수: 11 (최근 30일)
Jaime
Jaime 2013년 3월 4일
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
Brian B
Brian B 2013년 3월 4일
Can you post more of your code?
Jaime
Jaime 2013년 3월 4일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Brian B
Brian B 2013년 3월 4일
편집: Brian B 2013년 3월 4일
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
Jaime
Jaime 2013년 3월 4일
it worked very well now!, thanks you very much, you saved me! :p

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Distribution Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by