Step function with a ramp. Error in the creation of the ramp
1 次查看(过去 30 天)
显示 更早的评论
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)
0 个评论
Giorgos Papakonstantinou
2013-1-27
编辑:Giorgos Papakonstantinou
2013-1-27
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.
另请参阅
类别
在 Help Center 和 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!