Step function with a ramp. Error in the creation of the ramp
이전 댓글 표시
I am trying to create a ramp which is a part of a step function in order to plot it.
x=1e-6:1e-6:L;
for i=1:10
bl(i)=(2*i-1)*9.35e-4+(i-1)*8e-5;
bu(i)=(2*i-1)*9.35e-4+i*8e-5;
I(x>=bl(i) & x<bu(i))=(i-1)*1.26e-2+150.*(x-bl(i)); % Current in part b of the unit cell
end
But I get this error:
In an assignment A(I) = B, the number of elements in B and
I must be the same.
Do you know the solution?
댓글 수: 1
Azzi Abdelmalek
2013년 1월 27일
What is the initial value of I. What is the expected value of I ?
Can you explain what do you want to achieve?
채택된 답변
추가 답변 (2개)
Image Analyst
2013년 1월 27일
편집: Image Analyst
2013년 1월 27일
Have you considered linspace() instead?
bl = linspace(9.35e-4, 19*9.35e-4+9*8e-5, 10)
bu = linspace(9.35e-4, 19*9.35e-4+10*8e-5, 10)
output = linspace(0, 9*1.26e-2, 10)+150*(x-bl)
indexesToSet = x>=bl & x<bu % Only set those elements satisfying this.
I(indexesToSet) = output(indexesToSet)
Giorgos Papakonstantinou
2013년 1월 27일
편집: Giorgos Papakonstantinou
2013년 1월 27일
0 개 추천
댓글 수: 1
Image Analyst
2013년 1월 27일
It's just a more MATLAB-ish way of doing things since it avoids a loop, though with only 10 iterations, looping is definitely not a bottleneck. If you had tens of millions of iterations, it might make a noticeable effect.
카테고리
도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!