How to create a fzero loop to find roots of a function file?

조회 수: 1 (최근 30일)
John Doe
John Doe 2014년 1월 21일
댓글: John Doe 2014년 1월 21일
I'm going to simplify my equation to make it easier, however I have a .m function file, lets say:
if true
function Y=Y(x)
%variables
a=1;
y=2;
b=2;
c=3;
Y=a*x+b*y+c*xy;
end
I can use the command:
if true
fzero(@Y,2)
end
to find the root of this equation. and it works, however my question is how to write a loop to solve this equation for varying values of y. so my .m function is now of two variables:
if true
function Y=Y(x,y)
%variables
a=1;
b=2;
c=3;
Y=a*x+b*y+c*xy;
end
end
I need to now write a loop to find the zero value of x, for many values of y. Here is what I have tried to do but cannot get it to work:
if true
for x=2;
y=2:0.1:10;
x = fzero(Y(w,r),4);
end
I'm fairly new to matlab and have tried searching the forums for help but cannot find a solution. So you help will be greatly appreciated.
Kind Regards,
John.

채택된 답변

Amit
Amit 2014년 1월 21일
편집: Amit 2014년 1월 21일
for y= 2:0.1:10
x = fzero(@(m) Y(m,y),4);
end
  댓글 수: 5
Amit
Amit 2014년 1월 21일
@(m) Y(m,y) says that m is the variable. Its like saying if there is a difference in y = f(x) or y = f(m). It can be any variable name you like. I did not chose x, because x was used for data storage and didn't wanted to get confused.
John Doe
John Doe 2014년 1월 21일
I see, thanks.
One final question that I just realized, do you know how to then save all these values? as each time it loops it overwrites the previous zero.

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

추가 답변 (0개)

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!

Translated by