Roots of a function

3 visualizzazioni (ultimi 30 giorni)
Muhammad Umar Farooq
Muhammad Umar Farooq il 30 Mar 2016
Commentato: Torsten il 31 Mar 2016
I have two equations:
y1 = 2sinx1;
y2 = 2cos^2(x1) + 3sin(2x2+3);
here y1 = 0 while y2 = 1.
Can anyone please tell me which approach would be the best to find out the values of x1 and x2.
Thank you.
  1 Commento
Torsten
Torsten il 30 Mar 2016
x1=0
x2=(asin(-1/3)-3)/2
Best wishes
Torsten.

Accedi per commentare.

Risposta accettata

Torsten
Torsten il 31 Mar 2016
Modificato: Torsten il 31 Mar 2016
Try this:
function driver
y=zeros(1,2);
y(1)=0;
y(2)=1;
x0=zeros(1,2);
x=fsolve(@(x)HW1(x,y),x0)
function res = HW1(x,y)
res(1)=y(1)-2*sin(x(1));
res(2)=y(2)-(2*cos(x(1))^2 + 3*sin(2*x(2) + 3));
Best wishes
Torsten.
  2 Commenti
Muhammad Umar Farooq
Muhammad Umar Farooq il 31 Mar 2016
Thanks a lot. It works perfectly well. I am really thankful to you.
I am new to Matlab. Can you tell me which optimization will let me find the unique values of x1 and x2 for the given values of y1 and y2. If I change the interval from [0 0] to [2 2] it finds the zeros between this interval.
Torsten
Torsten il 31 Mar 2016
Your equations don't have a unique solution. So - depending on the starting guess x0 - you'll get different solutions for x. Do you have any condition on x that could make the solution unique ?
Best wishes
Torsten.

Accedi per commentare.

Più risposte (1)

Vlad Miloserdov
Vlad Miloserdov il 30 Mar 2016
if you still need this
A=solve('0 = 2*sin(x1)','1 = 2*cos(x1)^2 + 3*sin(2*x2+3)','x1','x2');
% first ans
A.x1(1)
A.x2(1)
% second ans
A.x1(2)
A.x2(2)
  5 Commenti
Torsten
Torsten il 31 Mar 2016
Please show your code.
Best wishes
Torsten.
Muhammad Umar Farooq
Muhammad Umar Farooq il 31 Mar 2016
function [y1,y2] = HW1(x1,x2)
y1 = 2*sin(x1);
y2 = 2*cos(x1)^2 + 3*sin(2*x2 + 3);
end
I call this function HW1 from optimization tool box and it stops after giving error of not enough input arguments.
Thank you for your help. I am stuck for two days with this error.

Accedi per commentare.

Categorie

Scopri di più su Function Creation in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by