- Why do you need that?
- See TUTORIAL: Why Variables Should Not Be Named Dynamically (eval)
How to name every row of 100*2500 matrix?
1 次查看(过去 30 天)
显示 更早的评论
currently i am working with a matrix. The dimension of the matrix is 100*2500. I need to assign each row the matrix to a new variable. How i can do this?
6 个评论
Les Beckham
2017-11-1
But Matlab is designed to allow you to operate on matrices and (more specifically, in this case) subsets of matrices using indexing. That is what per has suggested and, I think, you should try. You don't need to give a separate name like row1 to data(1,:), etc. -- just apply your operation to data(1,:), probably using a loop where the 1 is replaced by the loop index. Then you don't have to code a hundred lines to process row1 through row100.
Please note especially the last bullet in per's last comment.
采纳的回答
per isakson
2017-11-1
编辑:per isakson
2017-11-1
"So all I want is as followings" See TUTORIAL: Why Variables Should Not Be Named Dynamically (eval). However, I guess you need to make your own mistakes to understand that it's a really bad idea.
M = ones( 3, 5 );
for rr = 1 : size(M,1)
variable_name = sprintf( 'row%03d', rr );
assign( variable_name, M(rr,:) );
end
where
function assign( varargin )
switch nargin
case { 2 },
if isvarname( varargin{ 1 } )
Name = varargin{ 1 };
else
error( ['poi: First input argument, ', ...
inputname(1), ' must be a legal name'] ),
end,
Value = varargin{ 2 };
otherwise
error( 'poi: Wrong number of input arguments' ),
end
assignin( 'caller', Name, Value );
end
6 个评论
Muhammad Ammar bin Faizul Azli
2020-11-27
@Stephen Cobeldick
May i know what would your code be if i were to do the same for column?
Steven Lord
2020-11-27
With functionality available now, I'd probably use a table array instead of a numeric array.
cities = ["Albuquerque"; "Boston"; "Chicago"; "Dallas"];
dist = array2table(magic(4), 'VariableNames', cities, 'RowNames', cities)
distBC = dist{'Boston', 'Chicago'}
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Discrete Multiresolution Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!