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
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
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
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 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!