matlab关于句柄函数的自变量的问题 如何获取函数y的四个自变量,有没有那样的matlab函数?不用声明a,自动获取句柄函数y的自变量a,进而求偏导数可以不?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 05:06:26
matlab关于句柄函数的自变量的问题 如何获取函数y的四个自变量,有没有那样的matlab函数?不用声明a,自动获取句柄函数y的自变量a,进而求偏导数可以不?

matlab关于句柄函数的自变量的问题 如何获取函数y的四个自变量,有没有那样的matlab函数?不用声明a,自动获取句柄函数y的自变量a,进而求偏导数可以不?
matlab关于句柄函数的自变量的问题

 如何获取函数y的四个自变量,有没有那样的matlab函数?
不用声明a,自动获取句柄函数y的自变量a,进而求偏导数可以不?

matlab关于句柄函数的自变量的问题 如何获取函数y的四个自变量,有没有那样的matlab函数?不用声明a,自动获取句柄函数y的自变量a,进而求偏导数可以不?

1、getmaths并非MATLAB自带函数,能查到的只有百度贴吧上的一个帖子,其内容是:

function g =getmaths(y)
g = matlabFunction(sym (y));
end

问的问题也和你差不多,看ID,应该就是你吧?

 

2、首先明确一下术语:

【句柄函数】:你所说的“句柄函数”应该是指使用getmaths生成的函数,那个不叫“句柄函数”,应该叫“匿名函数”(anonymous function).我的印象中也并被没有“句柄函数”的说法,常用的概念倒是有函数句柄(function handle).

【函数、自变量】:你在标题里面说的函数和自变量都是数学上的概念,在MATLAB里对应的应该分别是符号表达式(symbolic expression)和符号变量(symbolic variable).尤其要注意:编程语言中函数的概念与数学上是不一样的,而变量的概念和自变量也不是一回事.

 

3、明确了上面的术语之后,现在可以说:上面代码里getmaths调用的matlabFunction作用是把符号表达式转换为匿名函数(当然,需要的话,也可以转换为m文件).

 

你第2代码的作用是,由字符串s转换得到一个匿名函数y,MATLAB工作区中此时有两个变量s和y,然后第3代码试图用 diff(y,a) 求偏导数,而这时候,从编程语言的角度说,并不存在a这个变量(注意,不是数学意义上的自变量),所以当然会出错.

 

4、使用syms a进行声明,其本质上是创建了一个sym类型的变量a,变量有了定义,后面当然就可以使用了.另外还值得一提的是,MATLAB系统中有多个diff函数(可以用which diff -all查看),MATLAB会根据输入参数的类型、这些函数的类型及其在路径中的顺序来决定调用哪一个.

 

5、如果想获取函数y的自变量,可以使用symvar或findsym函数,但需要对输入参数y做一下转换,例如

symvar(char(y))
symvar(sym(y))
findsym(sym(x))

之所以调用 diff(y,a) 不需要做这样的转换,是因为在diff函数内部首先就对输入参数进行了强制转换,而symvar或findsym函数却没有(可能具体版本有差别).顺便说明一下,用diff可以对匿名函数求偏导数,但并非对所有函数句柄都可以那么做——尽管从语法上是可行的.

matlab关于句柄函数的自变量的问题 如何获取函数y的四个自变量,有没有那样的matlab函数?不用声明a,自动获取句柄函数y的自变量a,进而求偏导数可以不? 一个关于MATLAB函数句柄调用的问题在调用函数句柄的时候,碰到这个问题trigFun={@sin }; plot(trigFun{1}(-pi:0.01:pi)) %语句1plot(trigFun{2}(-pi:0.01:pi)) %语句2第一条语句可以执行,并且绘出了结果图,但是第 matlab数值积分定义被积函数的句柄函数定义遇到问题:被积函数是形如符号矩阵Q=[x,x+y,sin(x);x*y,2*x*...matlab数值积分定义被积函数的句柄函数定义遇到问题:被积函数是形如符号矩阵Q=[x,x+y,sin( 关于MATLAB匿名函数,变量格式转换.比如输入一个匿名函数句柄:f = @(x1,x2,...,x15) x1 .* x2 .* ....* x15f共15个自变量如何把它自动转化成下面的形式:f = @(x) x(1,:) .* x(2,:) .* ....*x(15,:)我曾试过比如把 matlab中函数的句柄是什么意思?有什么作用?最好举个例子说明!这样写有什么用?这不是故找麻烦吗? 用matlab求三个自变量函数最小值的M程序? matlab 求函数值最小时的自变量取值 MATLAB sym 定义函数 怎么定义自变量的定义域 什么是句柄?以及什么是句柄图形,窗口句柄等?可否为我形象的说明? MATLAB中的句柄图形是什么意思?可否举一些简单形象的例子说明一下? 关于MATLAB的reshape函数问题,reshape(A,[], 关于matlab的符号变量函数作图问题,函数的定义域也是由符号变量确定的.假定有一函数V,其表达式为V(c)=a*b^3/(3*c),其中,a、b是常数(未知),c为自变量,如何做出自变量c在区间[b,2b]内函数V关于 在matlab中,一个多项式用一个向量表示,那么,怎么得到这个多项式函数的句柄,因为我也要在fzero这在matlab中,一个多项式用一个向量表示,那么,怎么得到这个多项式函数的句柄,因为我也要在x = fz Matlab 中可以把函数或者函数句柄放入向量中供我有序调用吗?本来我想实现的:一个矩阵A中放了函数(函数句柄),然后我可以这样int i=1:nint j=1:nB(i,j)=A(i,j)(参数);endend当然因为实现不了所以 关于matlab的作业问题 一个关于如何用matlab进行多元非线性回归的问题我现在只有4组数据 想通过matlab里面的多元非线性回归 得出一个成本模型 其中一个因变量 3个自变量 在matlab里面应该用哪个函数来对这4 matlab中,已知3维函数图像,如何由两自变量的值求函数值 matlab pcolor函数的一个问题?