How to plot using all the for loop values

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

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

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!