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

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

Amit
Amit il 21 Gen 2014
Modificato: Amit il 21 Gen 2014
for y= 2:0.1:10
x = fzero(@(m) Y(m,y),4);
end
  5 Commenti
Amit
Amit il 21 Gen 2014
@(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 il 21 Gen 2014
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.

Accedi per commentare.

Più risposte (0)

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by