How to have a function return a coordinate point?
39 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to get a function to return (x,y) coordinates for a given angle theta. I am struggling to figure out how to get the output of the function to be coordinate points and not two seperate variables x and y.
This is what I have for the function:
function [x,y] = unitCircle(theta)
[x,y] = [cos(theta),sin(theta)]
end
And when I call the function using:
[x,y] = unitCircle(pi/4)
I get an error:
Too many output arguments.
Error in unitCircle (line 2)
[x,y] = [cos(theta),sin(theta)]
1 commentaire
Réponse acceptée
Torsten
le 12 Fév 2023
[x,y] = unitCircle(pi/4)
function [x y] = unitCircle(theta)
z = [cos(theta),sin(theta)];
x = z(1);
y = z(2);
end
4 commentaires
Sulaymon Eshkabilov
le 12 Fév 2023
This function file syntax has to be:
theta = -pi:.1:pi;
[x,y]=unitCircle(theta)
function [x y] = unitCircle(theta)
z = [cos(theta);sin(theta)];
x = z(1,:);
y = z(2,:);
end
Plus de réponses (1)
Sulaymon Eshkabilov
le 12 Fév 2023
Here is the corrected code:
% Ver 1
xy = unitCircle(pi/4)
function xy = unitCircle(theta)
xy=[cos(theta); sin(theta)];
end
1 commentaire
Sulaymon Eshkabilov
le 12 Fév 2023
Alt. version:
% Ver 2
theta = linspace(-2*pi, 2*pi);
xy=unitCircle(theta);
plot(xy(1,:), xy(2,:)), axis equal;
xlabel("x"), ylabel("y"), grid on
function xy = unitCircle(theta)
xy(1,:)=[cos(theta)];
xy(2,:)=[sin(theta)];
end
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
