Matlab 访问动态变量
Matlab access dynamic variables
我正在尝试访问 Matlab 动态创建的变量,但我无法执行此操作。
我知道在 Matlab 中创建动态变量并不理想,但在这种情况下,它非常简单和舒适。使用它们。
假设用户可以定义几个点
point0 = [0,0,0;10,0,0];
point1 = [10,0,0;0,10,0];
point2 = [10,10,0;-10,0,0];
而我想做的是在while循环中从所有这些中提取数据。
但我不知道如何访问它们。
我试过了
point[i](1,1); % access number from first column and first row.
point{i}(1,1);
并将 "point" + i
存储在变量中,但没有任何效果。
如果有任何帮助,我将不胜感激。
此代码解决方案可能适合您(基于@Ander Biguri 的推荐):
point1 = [0,0,0;10,0,0];
point2 = [10,0,0;0,10,0];
point3 = [10,10,0;-10,0,0];
% use
point_cell = {point1, point2, point3}; % 1x3 cell
% or
point_cell_dynamic{1} = point1; % 1x4 cell
point_cell_dynamic{2} = point2;
point_cell_dynamic{3} = point3;
point_cell_dynamic{4} = point3;
point_cell{1}(1,1) % {point1} (row = 1 ,column = 1) -> prints 0
point_cell{3}(2,1) % {point3} (row = 2 ,column = 1) -> prints-10
我正在尝试访问 Matlab 动态创建的变量,但我无法执行此操作。 我知道在 Matlab 中创建动态变量并不理想,但在这种情况下,它非常简单和舒适。使用它们。
假设用户可以定义几个点
point0 = [0,0,0;10,0,0];
point1 = [10,0,0;0,10,0];
point2 = [10,10,0;-10,0,0];
而我想做的是在while循环中从所有这些中提取数据。 但我不知道如何访问它们。
我试过了
point[i](1,1); % access number from first column and first row.
point{i}(1,1);
并将 "point" + i
存储在变量中,但没有任何效果。
如果有任何帮助,我将不胜感激。
此代码解决方案可能适合您(基于@Ander Biguri 的推荐):
point1 = [0,0,0;10,0,0];
point2 = [10,0,0;0,10,0];
point3 = [10,10,0;-10,0,0];
% use
point_cell = {point1, point2, point3}; % 1x3 cell
% or
point_cell_dynamic{1} = point1; % 1x4 cell
point_cell_dynamic{2} = point2;
point_cell_dynamic{3} = point3;
point_cell_dynamic{4} = point3;
point_cell{1}(1,1) % {point1} (row = 1 ,column = 1) -> prints 0
point_cell{3}(2,1) % {point3} (row = 2 ,column = 1) -> prints-10