is it possible to use a function in a vectorization
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
is it at all possible to use function like sum, mean, or sqrt within a vectorization? for example
output(:,3) = sum([ output(:,1) output(:,2) ])
I know that in this case it is simple to just add the two columns without using sum, but I want to use several functions in a more complicated computation, however I can't even get this to work.
1 comentario
Respuesta aceptada
Jan
el 31 de Oct. de 2011
The colon operator is not defined for vectors. Therefore constantError(:,1)*16-15:constantError(:,1)*16 does not create the expected results. But I'm surprised, that it does not create an error.
a = constantError(:,1)*16-15; % [1; 17; 33; 49; 65]
b = constantError(:,1)*16; % [16; 32; 48; 64; 80]
a:b % 1:16
This is the same as a(1):b(1).
But the problem can be solved easier and faster:
sum(reshape(output(:, 1), 16, []), 1) / 16
In addition I'm using sum()/n directly, which is faster than mean.
1 comentario
Andrei Bobrov
el 31 de Oct. de 2011
n= 5
constantError = [(1:n)', mean(reshape(output,[],numel(output)/n),2)];
Más respuestas (5)
Jan
el 31 de Oct. de 2011
As you can see by running your example, it is possible. Even more, it is the idea behind vectorization to use function inside the vectorization.
If you fail with a complicated computation, post it here together with the occurring error messages.
Note: Your example looks strange. If output is a nx3 matrix, the sum will reply a 1x2 vector, But this is unlikely to match into output(:, 3). Posting real examples is usually better.
2 comentarios
Jan
el 31 de Oct. de 2011
Is constantVector a [1 x N] row vector?
It is hard to guess such details, and if my guessing is wrong, I'm not helping but confusing you. Please post an example of the code, which inlcude all relevant parts (but not more) and which runs except for the line causing troubles.
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!