首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在matlab中区分内嵌函数

如何在matlab中区分内嵌函数
EN

Stack Overflow用户
提问于 2016-10-07 02:27:49
回答 3查看 2.3K关注 0票数 2

假设我用matlab编写了以下内容

代码语言:javascript
运行
复制
c='x^2-6';
f=inline(c);

那么f将是一个内联函数。我可以在不同的值下计算f

代码语言:javascript
运行
复制
f(2)
f(5)

等。

然而,当我尝试diff(f)时,它不会返回2*x。我怎么能从2*x那里得到f

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-07 02:45:38

不能使用inline对象进行符号数学计算。使用sym对象代替:

代码语言:javascript
运行
复制
c= sym('x^2-6'); % creates the 'sym' object
subs(c,2) % calculates c(2)
diff(c);

还请注意,inline 将被移除在将来的发行版中

票数 2
EN

Stack Overflow用户

发布于 2016-10-07 02:46:47

你需要MATLAB符号工具箱。你所描述的是象征性的区别。(还有象征性的整合,等等)。MATLAB的“正常”(非符号)版本是为了进行数值计算,而不是微积分或代数运算。

票数 2
EN

Stack Overflow用户

发布于 2017-02-14 13:25:15

这里有一种符号方法,将函数和参数作为用户的输入,并对其进行区分。

代码语言:javascript
运行
复制
clear;
clc;
v=input('Parameter :');%input for example 'x' and remember the quotes
syms(v);%symbolic variable : x in this case
y=input('function :');%example exp (x) ,not exp(y) or ay other variable
f=matlabFunction(y);%converts y to a command type function f
df = matlabFunction(diff(y)); %calculates the differentiation.

现在,如果执行像f(1)这样的操作,它将显示2.71828,df(1)将显示2.71828。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39908436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档