How to plot using all the for loop values

1 view (last 30 days)
Hi,
Here I am pasting a simple code which does a simple integration from - infinity to + infinity:
syms x
C=1;D=1;E=1;N=1;W=1;
alp=1;
z=1;
for P=1:1:20
a=(sqrt(-1))*(C-P);
b=(D-(sqrt(-1))*(P+x));
c=(E+(sqrt(-1))*(N-P));
d=(W^2+x.^2);
e=b*c*d;
f=a/e;
S=alp*(int(f,-inf,inf));
out = vpa(S);
k=double(out)
end
******** The problem is to plot a graph (S Vs P) using all the values of P. Can anyone help me in this regard?
Thanking You!

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 6 Jul 2013
Edited: Azzi Abdelmalek on 6 Jul 2013
You have to use: k(P) instead of k
syms x
C=1;D=1;E=1;N=1;W=1;
alp=1;
z=1;
for P=1:1:20
aa=(sqrt(-1))*(C-P);
b=(D-(sqrt(-1))*(P+x));
c=(E+(sqrt(-1))*(N-P));
d=(W^2+x.^2);
e=b*c*d;
f=a/e;
S=alp*(int(f,-inf,inf));
out = vpa(S);
k(P)=double(out)
end
plot(abs(k))

More Answers (1)

Neha
Neha on 5 Jul 2013
The variable S is just a single dimension matrix. You can replace S=alp*(int(f,-inf,inf)); with S(P)=alp*(int(f,-inf,inf));
By doing this the index for S is getting maintained and you can simply call
plot((double)S);
  1 Comment
Pranjal Pathak
Pranjal Pathak on 5 Jul 2013
Hi Neha, Thanks for your answer. But I did not get the plot (S Vs P). Can you please write the code?
Thanking You!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!