How to plot using all the for loop values

2 次查看(过去 30 天)
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!

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-7-6
编辑:Azzi Abdelmalek 2013-7-6
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))

更多回答(1 个)

Neha
Neha 2013-7-5
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 个评论
Pranjal Pathak
Pranjal Pathak 2013-7-5
Hi Neha, Thanks for your answer. But I did not get the plot (S Vs P). Can you please write the code?
Thanking You!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by