Solving Mathematical Relation Having If and Else Statement in Matlab

1 view (last 30 days)
Hi,
Here I am writing a mathematical relation which is needed to be solved using Matlab:
N=4;
j=sqrt(-1);
Sx=[27 0 4 19;
19 -8 -10 16;
20 -4 -7 9;
27 0 2 24];
Sy=[22 4 -7 -25;
7 2 -8 -12;
-8 -5 3 5;
-23 -9 5 13];
P(k,l)={0; if k,l=0 and k,l=N/2
{((exp(-j*2*pi*k)/N)-1)*((exp(-j*2*pi*l)/N)+1)*DFT(Sx(k,l)+
((exp(-j*2*pi*l)/N)-1)*((exp(-j*2*pi*k)/N)+1)*DFT(Sy(k,l)}*
{8*((sin(k*pi/N).^2)*(cos(l*pi/N).^2)+(sin(l*pi/N).^2)*(cos(k*pi/N).^2)}.^(-1), else
where k and l varies from 1 to 4 each
********** Can anyone please help me in solving the above problem with the help of Matlab? Thanking You!
  4 Comments

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 18 Sep 2013
Well you are practically there already. Just put that code in a loop over k and l (l is a bad variable name choice). Inside the loop have the if statements where you assign P(k,l) to different things depending on what the values of k and l are.
  2 Comments
Pranjal Pathak
Pranjal Pathak on 18 Sep 2013
Thanks a lot for your suggestions. I tried, but it is showing some error when I run it. Could you please figure out the problem? Here is the code:
Sx=[27 0 4 19; 19 -8 -10 16; 20 -4 -7 9; 27 0 2 24];
Sy=[22 4 -7 -25; 7 2 -8 -12; -8 -5 3 5; -23 -9 5 13];
n=4; j=sqrt(-1);
P=zeros(n,n); for k=1:n for m=1:n Ftx=fft2(Sx); Fty=fft2(Sy);
if((k == 0 | m == 0) & (k == n/2 | m == n/2))
P(k,m)=0;
else
P(k,m)=((((exp(-j*2*pi*k)/n)-1)*((exp(-j*2*pi*m)/n)+1)*Ftx)+(((exp(-j*2*pi*m)/n)-1)*((exp(-j*2*pi*k)/n)+1)*Fty)*(8*((sin(k*pi/n)^2)*(cos(m*pi/n)^2)+(sin(m*pi/n)^2)*(cos(k*pi/n)^2))^(-1)));
end
end
end
P(k,m); *************** Thanks.

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!