index must be a positive integer or logical.
조회 수: 2 (최근 30일)
이전 댓글 표시
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
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?
채택된 답변
Chris C
2014년 3월 11일
I'm still not reall clear on what you're looking for, but try this version of Marta's code...
c1=3.29;
c2=9.90;
c3=0.77;
c4=0.20;
t = linspace(0,-1,10); %definition of t vector
n = linspace(1,100);
Ln=zeros(length(t),length(n));
for i=1:length(t)
for j = 1:length(n);
Ln(i,j)= -(c1+c2*log(n(j))*log(-t(i)))-(c3+c4*log(n(j)));
end
semilogx(n,Ln(i,:))
hold on
end
댓글 수: 2
추가 답변 (2개)
dpb
2014년 3월 11일
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.
댓글 수: 0
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
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)
참고 항목
카테고리
Help Center 및 File Exchange에서 Detection에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!