No graphs after plot command

1 回表示 (過去 30 日間)
semiha
semiha 2015 年 2 月 15 日
コメント済み: semiha 2015 年 2 月 15 日
Hello everybody; I have a question about plot command. When i run the script, there is no error message but empty figure has appeared. I couldn't solve this problem using gcf or noFigure = 1; figure(noFigure); command. What should i do to see the graph? Thanks for your help
  2 件のコメント
Geoff Hayes
Geoff Hayes 2015 年 2 月 15 日
Semiha - what is the script that you are using? What code is being used to plot something to the figure? Please provide more details.
Star Strider
Star Strider 2015 年 2 月 15 日
semiha’s ‘Answer’ moved here ...
a = 100;
m = 1000;
n = 1000;
h = a/m;
t1 = 100;
k = t1/n;
x = 0:h:a;
t = 0:k:t1;
D = -k;
w0 = zeros(1,m+1);
w = zeros(n+1, m+1);
A = zeros(m+1, m+1);
B = zeros(m+1, m+1);
for j = 1:m+1
w0(j) = (1-(5*(1-3*i))/((1+6*(x(j)^3))));
end
w(1,:) = w0;
for p=1:n
for j=1:m+1
A2 (j)= k*1*i;
A(j,j) = A2(j);
end
for j=1:m
A(j,j+1) = 1 - 1i*D*abs(w(p,j)).^2;
end
for j=1:m-1
A(j,j+2)=k*1*i;
end
A(m,m)=k*1*i;
A(m,1)= 1 - 1i*D*abs(w(p,j)).^2;
A(m,2)=k*1*i;
A(m-1,1)=k*1*i;
A(m-1,m)= 1 - 1i*D*abs(w(p,j)).^2;
A(m-1,m-1)=k*1*i;
r =(A)*w(p,1:m+1)';
w(p+1,1:m+1)=r';
end
plot3 ( x, t,(abs(w(n,:))) );

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

回答 (1 件)

emehmetcik
emehmetcik 2015 年 2 月 15 日
Your output variable "w" mostly consists of "nan" (not a number) values. Probably the result of zero divided by zero at some point.
Only the first few rows of "w" have no nan's.
  3 件のコメント
emehmetcik
emehmetcik 2015 年 2 月 15 日
I'm not quite sure what the code does. But the problem seems to be that some values grow exponentially.
My recommendation is that you should re-check your code. The following commands can be useful as well:
dbstop if naninf
This will automatically put a debug point when a nan or inf value is encountered while the code is being executed.
dbclear all % To clear all debug points
semiha
semiha 2015 年 2 月 15 日
yes you are right i used dbstop if naninf command, it seems that one line creates this situtation. ( A(j,j+1) = 1 - 1i*D*abs(w(p,j)).^2) i should use this line to get a correct answer, but i will try to change it. Thanks

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

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by