【发布时间】:2015-11-24 01:24:00
【问题描述】:
我在 MATLAB 中定义一些矩阵时遇到问题。我得到三个数字x,y,z 作为用户的输入,然后我想创建y-1 空矩阵。例如考虑x = 3、y = 4 和z = 2。所需的y-1 矩阵M1、M2 和M3 是:
size(M1) = [3,4] ~ [x,y]
size(M2) = [4,4] ~ [y,y]
size(M3) = [4,2] ~ [y,z]
参数x,y在运行程序之前是未知的。如果y 为 5,则矩阵为:
size(M1) = [3,5] ~ [x,y]
size(M2) = [5,5] ~ [y,y]
size(M3) = [5,5] ~ [y,y]
size(M4) = [5,2] ~ [y,z]
确实主要问题是矩阵的数量是一个输入。 请指导我如何创建一个函数循环来定义这个矩阵。
【问题讨论】:
-
MATLAB 中的空值是
A=[],零矩阵(例如 `A = zeros(3)')仍有一定大小。 -
@Jubobs,零或一,或任何其他初始值并不重要,因为这些值将在算法中进行修改。问题是矩阵的数量是一个输入。
-
您肯定会希望在单元类中执行此操作。
bsxfun和cellfun但是无法处理zeros。我会继续挖掘。 -
如果变量的个数是输入,你必须使用
cell array,它仍然有矩阵式索引的好处,或者structure,当你需要时很方便(或更喜欢)命名你的变量。
标签: matlab matrix create-table