Arithmetic problem with for loop

1 次查看(过去 30 天)
Hi, i am new with MATLAB.
I would like to use this formula in for loop: ℓ?=taper1*ℓ?−1
There is no error message but i can't see a proper value on output. (i control my values with calculator programs) (i checked my variables. and confirmed that they are true before this loop).
And my second problem is i don't know how to add new line with every increment.
Here is my try:
l= (1:N); //creating and empty array
l(1)=((3*(10^8))/(2*f1)); //formula
for i = 2:N
l(i) = taper1 * l(i - 1);
set(handles.popupmenu3,'String',l(i) );
end
i tried to add new line with this but didn't work
set(handles.popupmenu3,'String',l(i) \n );
  1 个评论
Rik
Rik 2019-5-22
Most of what you have shown here is not valid Matlab syntax. It seems like you lack the basics of Matlab. It is really useful to learn the basics before attempting more complicated things. This even holds true for a relatively simple language as Matlab.
This is one of many tutorials you could try.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2019-5-22
编辑:Walter Roberson 2019-5-23
l = zeros(1,N); %creating and empty array
l(1) = ((3*(10^8))/(2*f1)); %formula
for i = 2:N
l(i) = taper1 * l(i - 1);
handles.popupmenu3.String{end+1} = num2str( l(i) );
drawnow();
end
updating the popup string one by one is inefficient: it would be better to do all of the calculations first and then update at the end.
Note: you could also calculate
l = ((3*(10^8))/(2*f1)) .* taper1.^(0:N-1);
with no loop required.
  7 个评论
Rik
Rik 2019-5-23
So like this?
sprintf('l(%d)= %.1f',i,l(i))
Otherwise, try searching the documentation for a solution. Matlab has excellent documentation with many examples.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by