Two output function issue

This function is supposed to display the radius and the angle when you input the coordinates and it's only displaying the radius can someone help me out ?
Thanks in advance
function[r,d]=Cartapol(x,y)
r=sqrt((x^2)+(y^2));
d=atand(y/x);
if(x<0)
d=180+d;
elseif (x>0 && y<0)
d=360+d;
elseif x==0 && y==0
d=0;
elseif x==0 && y<0
d=270;
end

4 件のコメント

Walter Roberson
Walter Roberson 2019 年 2 月 8 日
That code does not display anything. That code calculates and assigns to output variables. Anything display is outside the function.
David Goodmanson
David Goodmanson 2019 年 2 月 8 日
編集済み: David Goodmanson 2019 年 2 月 8 日
Hi Patirick,
are you asking for both outputs? [r d] = Cartapol(1,2) works just fine.
Incidentally, it's good to know what happens with atan in all four quadrants, but you can save yourself some coding by using atan2d(y,x).
Patirick Legare
Patirick Legare 2019 年 2 月 8 日
Hi David ,
Thank you for that shortcut I will definetly be using this.Turns out that the fuction did work just fine I was not calling it properly... I am very new to this so it's a process.
Thanks for you help I really appreciate it !
Stephen23
Stephen23 2019 年 2 月 8 日
@Patirick Legare: basic MATLAB concepts, such as how to call functions with multiple outputs, are explained in the introductory tutorials:
Highly recommended.

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeOperators and Elementary Operations についてさらに検索

質問済み:

2019 年 2 月 8 日

コメント済み:

2019 年 2 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by