Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何从矩阵函数定义新函数?_Matlab - Fatal编程技术网

Matlab 如何从矩阵函数定义新函数?

Matlab 如何从矩阵函数定义新函数?,matlab,Matlab,这是一个非常简单的问题,尽管我不知道如何处理它 我定义了一个函数f(x,y),它将返回一个,比如说,2*2矩阵。我想定义一个新函数g,它的值是f(x,y)的(1,1)元素。我天真地尝试了g=@(x,y)(f(x,y))(1,1),当然失败了。请帮帮我 您可以使用:) 您可以使用该函数 让我们定义f(x,y)来返回一个2x2矩阵 f = @(x,y) [1*x 2*y;3*x 4*y].^2 ; 然后让我们定义一个函数g11(x,y),它返回f(x,y)的元素{1,1}。(还有一个额外的函数g2

这是一个非常简单的问题,尽管我不知道如何处理它

我定义了一个函数
f(x,y)
,它将返回一个,比如说,2*2矩阵。我想定义一个新函数
g
,它的值是
f(x,y)
的(1,1)元素。我天真地尝试了
g=@(x,y)(f(x,y))(1,1)
,当然失败了。请帮帮我

您可以使用:)

您可以使用该函数

让我们定义
f(x,y)
来返回一个2x2矩阵

f = @(x,y) [1*x 2*y;3*x 4*y].^2 ;
然后让我们定义一个函数
g11(x,y)
,它返回
f(x,y)
的元素{1,1}。(还有一个额外的函数
g21
,返回{2,1}元素)

现在:

>> f(3,4)
ans =
     9    64
    81   256

>> g11(3,4)
ans =
     9

>> g21(3,4)
ans =
    81


要想更巧妙地使用没有临时变量的字段赋值,请阅读

中所有漂亮的答案。获取矩阵(1,1)元素的最简单方法就是调用
f(1,1)
。实际上并不需要函数。但是
f(1,1)
将返回一个2*2矩阵。对不起,我知道您调用了函数
f
。如果你有一个矩阵
M
,你可以使用
M(1,1)
得到它的
(1,1)
元素。看一看。这里介绍了几种可能的解决方案。这真的很有帮助!谢谢!这有帮助!谢谢!漂亮的解决方案,我会记住的!不幸的是,对于大型矩阵来说不是很实用。当然,getfield是一个合适的:)
g11 = @(x,y) getfield( f(x,y) , {1,1} ) ;
g21 = @(x,y) getfield( f(x,y) , {2,1} ) ;
>> f(3,4)
ans =
     9    64
    81   256

>> g11(3,4)
ans =
     9

>> g21(3,4)
ans =
    81