相关疑难解决方法(0)

如何在不首先将其分配给局部变量的情况下索引函数返回的MATLAB数组?

例如,如果我想从中读取中间值magic(5),我可以这样做:

M = magic(5);
value = M(3,3);
Run Code Online (Sandbox Code Playgroud)

得到value == 13.我希望能够做到这样的事情之一:

value = magic(5)(3,3);
value = (magic(5))(3,3);
Run Code Online (Sandbox Code Playgroud)

免除中间变量.然而,MATLAB抱怨Unbalanced or unexpected parenthesis or bracket在第一个括号之前3.

是否可以在不首先将其分配给变量的情况下从数组/矩阵中读取值?

indexing matlab matrix return-value variable-assignment

350
推荐指数
7
解决办法
7万
查看次数

在matlab中传递冒号作为函数的参数

我想知道是否可以使用冒号":"作为函数的参数.

像这样的东西:

function  y=func(x)
  if x is a colon
    do this
  else
    do that
  end
Run Code Online (Sandbox Code Playgroud)

也可以将关键工作结束作为函数的参数传递,还有1:结束,3:结束5等等......我怀疑这是可能的,但我想确定.

另外,当我将"1:end"作为函数的参数传递时,我得到一个奇怪的错误,它没有产生错误,但是在函数内部,没有赋值参数(甚至没有其他参数).有人知道会发生什么吗?

syntax matlab

6
推荐指数
1
解决办法
844
查看次数