Solution of implicit function

25 visualizzazioni (ultimi 30 giorni)
Cengiz Görkem DENGIZ
Cengiz Görkem DENGIZ il 25 Gen 2016
Commentato: Walter Roberson il 26 Gen 2016
Hi,
I have an equation for example x^2+y^2-16=0 . How can I get all of x and y value for this equation. Of course I can write it y=sqrt(16-x^2). But what if this equation is more complex. I tried something with solve command on matlab but i didn't achive. can u help me?
  2 Commenti
Matt J
Matt J il 25 Gen 2016
How can I get all of x and y value for this equation.
There are infinite pairs x,y that solve your example equation. I think you really mean, "how can I get y for a given x?"
Cengiz Görkem DENGIZ
Cengiz Görkem DENGIZ il 25 Gen 2016
Yes i try it for x values. x=linspace (0,4,101) with solve command but it takes too much time for complex problem. Also i can plot with it ezplot. I want to get this plot data. But not from plot. First calculate data then plot.

Accedi per commentare.

Risposte (1)

Matt J
Matt J il 25 Gen 2016
Modificato: Matt J il 25 Gen 2016
If analytical solutions exist, then SOLVE would be the thing to use.
If analytical solutions don't exist, then you would have to search numerically for a solution using FZERO or FSOLVE.
  6 Commenti
Cengiz Görkem DENGIZ
Cengiz Görkem DENGIZ il 26 Gen 2016
Could you show me a little example?
Walter Roberson
Walter Roberson il 26 Gen 2016
c = rand; s90 = rand; p = rand; q = rand; sb = rand; su = rand; %in other words you need numeric values for them
syms s1 s2
eqn = s1^2/s0^2-c*s1*s2/s0/s90+s2^2/s90^2+((p+q)-(p*s1+q*s2)/sb)*s1*s2/s0/s90-su^2;
sols = solve(eqn, s1);
f1 = matlabFunction(sols(1), s2);
f2 = matlabFunction(sols(2), s2);
S2 = linspace(-50,50);
plot(S2, f1(S2), S2, f2(S2));

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by