How to plot using all the for loop values

1 回表示 (過去 30 日間)
Pranjal Pathak
Pranjal Pathak 2013 年 7 月 5 日
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 件のコメント
Pranjal Pathak
Pranjal Pathak 2013 年 7 月 6 日
Thanks a lot once again...

サインインしてコメントする。

その他の回答 (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 Center および File ExchangeSpecial Functions についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by