Loop in solve system of nonlinear equations

I have a problem with loop "for" in Solve system of nonlinear equations. I can solve nonlinear equations like this:
R=68.4043297;
V = [teta1; teta2];
F = @(V) [R-(37.5*sqrt(3))+(75*cos(V(1)))-(75*cos(V(2))); 97.5+37.5+(75*sin(V(1))) - (54.4818+75*sin(V(2)))];
XYA= fsolve(F, InitialGuess, Options);
but I have to change parametr R.
R=45:0.1:95
How do it?

Réponses (1)

Wiley Mosley
Wiley Mosley le 17 Oct 2019

0 votes

By calling the index of R in the for loop you should be able to save the XYA in an array so that you have the solutions for all values of R.
R=45:0.1:95;
for ii = 1:numel(R);
V = [teta1; teta2];
F = @(V) [R(ii)-(37.5*sqrt(3))+(75*cos(V(1)))-(75*cos(V(2))); 97.5+37.5+(75*sin(V(1))) - (54.4818+75*sin(V(2)))];
XYA(ii)= fsolve(F, InitialGuess, Options);
end

2 commentaires

But I get this:
Unable to perform assignment because the left and right sides have a different number of elements.
Error in Untitled3 (line 5)
XYA(ii)= fsolve(F, InitialGuess, Options);
But now i've got a solution:
R=linspace(45,95,11);
for i=1:11
V = [teta1; teta2];
F = @(V) [R(1,i)-(37.5*sqrt(3))+(75*cos(V(1)))-(75*cos(V(2))); 97.5+37.5+(75*sin(V(1))) - (54.4818+75*sin(V(2)))];
InitialGuess = [2;2];
Options=optimset('Display','off');
XY(2:3,i)= fsolve(F, InitialGuess, Options);
XY(1,i)=R(1,i);
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by