Which is faster, a row vector or a column vector? Can anyone answer me please?
57 次查看(过去 30 天)
显示 更早的评论
I am trying to do some integration so I am defining the output as a matrix, my question is which definition will give me faster results to define my matrix :
A = zeros(1,n) or A = zeros(n,1)?
Regards
0 个评论
采纳的回答
Stephen23
2015-5-13
编辑:Stephen23
2015-5-15
Perhaps the column, as MATLAB uses column-major memory storage of arrays. But really it is unlikely to make a big difference.
Just try it and use timeit or tic and toc to compare the times.
Another very fast way to define a matrix of zeros is this:
A(n) = 0;
Or if speed really is that critical, you might like to check out some of the submissions on MATLAB File Exchange:
7 个评论
Walter Roberson
2015-5-14
My checking shows that if you use 5 for r, and leave s symbolic, then there is a closed-form integral for the expression -- something that could be evaluated once per t rather than having to do the time-consuming numeric integration.
In the case of r held at 5, the integral for turns complex if s becomes larger than about 10.3 or if s is negative (but might become positive again below -10.3).
When you are varying r and s for your 16 runs, what are the values you are testing with?
更多回答(1 个)
Walter Roberson
2015-5-13
For any of the arithmetic operations, a row vector is exactly the same speed as a column vector. However, extracting a column vector from a matrix is faster than extracting a row vector. Also, library functions often are defined as returning column vectors and their logic is sometimes marginally faster on column vectors.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!