index must be a positive integer or logical.
古いコメントを表示
c1=3.29;
c2=9.90;
c3=0.77;
c4=0.20;
Ln=zeros(1,length(t));
for n=1:1:100;
for t=0:-0.1:-1;
Ln(t)=-(c1+c2*log(n)*log(-t))-(c3+c4*log(n));
semilogx(n,Ln(t));
end
end
I really want t to count negative, what am I supposed to do??
3 件のコメント
Chandrasekhar
2014 年 3 月 11 日
t cannot take negative values as it is acting as index
Marta Salas
2014 年 3 月 11 日
編集済み: Marta Salas
2014 年 3 月 11 日
You're going to define an index that it's not related with t but with the size of t. However I don't understand what you are trying to plot there. Which is the result you are expecting from that code? what do you want to plot on semilogx?
sharif
2014 年 3 月 11 日
採用された回答
その他の回答 (2 件)
dpb
2014 年 3 月 11 日
0 投票
Keep the time as associated independent vector of same length as the solution vector but numbered from 1:N instead of trying to use it as an index.
Marta Salas
2014 年 3 月 11 日
A solution is this:
c1=3.29;
c2=9.90;
c3=0.77;
c4=0.20;
Ln=zeros(1,length(t));
t= 0:-0.1:-1; %definition of t vector
for n=1:1:100;
for i=1:length(t);
Ln(i)= -(c1+c2*log(n)*log(-t(i)))-(c3+c4*log(n));
semilogx(n,Ln(i));
end
end
Take into account semilogx(n,Ln(i)) is plotting a point. is this the right solution?
7 件のコメント
sharif
2014 年 3 月 11 日
plot for each n all values of t...
t= 0:-0.1:-1; %definition of t vector
for n=1:100
LN=log(n);
Ln= -(c1+c2*LN.*log(-t))-(c3+c4*LN);
semilogx(t,Ln);
if n==1,hold on,end
end
You can also get rid of the loop on n entirely as well...
doc meshgrid % for example
sharif
2014 年 3 月 11 日
dpb
2014 年 3 月 11 日
BTW, log(0) --> -inf so you'll probably want to restrict t>0
I meant to point it out above but forgot to go back and do it after finished the other modifications...
sharif
2014 年 3 月 11 日
Marta Salas
2014 年 3 月 11 日
Sorry, I don't really understand what you mean about 10 lines.
dpb
2014 年 3 月 11 日
Well, read and do a little thinking on your own...fix the upper limit on the for loop to be 1:length(n)
カテゴリ
ヘルプ センター および File Exchange で Entering Commands についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!