For loop and adding elements to an array. How to?

2 次查看(过去 30 天)
I have some function y(x). I would like to generate a list of y values for x between -10^-3 and 10^-3 in 10^-4 intervals and plot y vs x. I'm trying to do something simpler and less messy first for practice:
function test
global x
for n = -5; n < 5; n+1;
x(end+1)=2*n;
end
end
but this leaves me with x = -10. Why? What am I doing wrong and how could I fix it? Also, is there a way to make an array of x AND their corresponding y values simultaneously and then just plot that one thing? Like list = {{1,1},{2,4},{3,6},{4,8}} and plot this as pairs of coordinates.
  5 个评论
Solarmew
Solarmew 2015-5-21
Yep. Watched a similar example of YouTube. Just realized that the help file I was looking at was for C ... why is there help for C in MatLab? +.+ ... that's the third time already that I try to use some syntax from the help file only to realize that it's not for MatLab ... dafuq ...

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2015-5-21
编辑:Stephen23 2015-5-21
MATLAB is not C or any other low-level programming language that requires loops to solve everything. In MATLAB the standard method is to generate the whole vector at once using the colon operator:
>> x = -10^-3:10^-4:10^-3
x = -0.001 -0.0009 -0.0008 -0.0007 -0.0006 -0.0005 -0.0004 -0.0003 -0.0002 -0.0001 0 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.001
This is faster and neater than using loops: knowing how to write vectorized code makes using MATLAB a lot faster, productive and enjoyable!

更多回答(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