How do I populate a column with a constant value?
67 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
balsip
el 21 de Jun. de 2016
Comentada: Star Strider
el 21 de Jun. de 2016
I am trying to populate a column in a newly created empty variable (ConstantVector) with a constant value for the column length of an existing vector (Vector_A), which is 5904x1.
The following code populates a row (1x5904):
ConstantVector=[];
for i=1:length(Vector_A)
ConstantVector(i)=((10^5)/((8.31434)*(298.15)))*(10^6);
end
How should I be coding this so that the ConstantVector is one column with the same value in the length of Vector_A?
0 comentarios
Respuesta aceptada
Star Strider
el 21 de Jun. de 2016
Use the ones function to create a vector of 1 and then multiply it by your constant value:
ConstantVector = ones(size(VectorA))*((10^5)/((8.31434)*(298.15)))*(10^6);
2 comentarios
Más respuestas (1)
Steven Lord
el 21 de Jun. de 2016
Depending what you're planning to do with the resulting vector. One obvious possibility is repmat.
x = magic(5);
y = repmat(pi, size(x));
z = repmat(42, size(x, 1), 1);
w = repmat(-999, 2, size(x, 2));
If you need to add the constant to the original, like if I wanted to add to the vector z, take advantage of scalar expansion rather than creating a (potentially large) temporary array.
q1 = z + 1;
q2 = z + ones(size(z));
isequal(q2, q2) % returns true
The repelem and bsxfun functions may also be of interest, again depending on what you're trying to do.
Ver también
Categorías
Más información sobre Matrix Indexing 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!