Convert formula into coding form

1 Ansicht (letzte 30 Tage)
Syakira Akmal
Syakira Akmal am 1 Apr. 2017
Beantwortet: Image Analyst am 1 Apr. 2017
Hi, i don't know how to convert formula into coding form. Example of formula
theta(kx, ky) = arctan(dy/dx)

Antworten (3)

Star Strider
Star Strider am 1 Apr. 2017
The arguments to the function do not match the arguments to the arctangent function. Are ‘kx’ and ‘ky’ the same as ‘dx’ and ‘dy’ or different?
One of these should do what you want:
theta = @(kx, ky) atan2(ky,kx); % The Values (Or Vectors) Themselves
theta = @(kx, ky) atan2(gradient(ky),gradient(kx)); % The Derivatives Of The Vectors
The atan2 function puts the returned angles in the correct quadrants. The atan function does not.
  2 Kommentare
Syakira Akmal
Syakira Akmal am 1 Apr. 2017
(kx, ky) is a point. dy = In(kx,ky+1) - In(kx,ky-1) dx = In(kx+1,ky) - In(kx-1,ky)
Star Strider
Star Strider am 1 Apr. 2017
My function then changes to:
theta = @(kx, ky) atan2(In(kx,ky+1) - In(kx,ky-1), In(kx+1,ky) - In(kx-1,ky)); % Directly Using ‘In’
That should work.

Melden Sie sich an, um zu kommentieren.


John D'Errico
John D'Errico am 1 Apr. 2017
Bearbeitet: John D'Errico am 1 Apr. 2017
I'd strongly suggest that you start reading the getting started tutorials. This is a very basic question, although I honestly have no idea what it is that you really want to do here. If I had to guess, you need to learn how to write a function.
Using a four quadrant atan, this would do what you want.
theta = @(kx,ky) = atan2(ky,kx);
Or do this:
theta = @(kx,ky) = atan(ky/kx);

Image Analyst
Image Analyst am 1 Apr. 2017

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by