在matlab中,f = @(x)x.^3-2*x-5;其中@是什么意思?

为什么是f=@(x)x.^3-2*x-5;z=fzero(f,2)而不是f=x.^3-2*x-5;z=fzero(f,2)能不能说明下为什么要@??... 为什么是f = @(x)x.^3-2*x-5;
z = fzero(f,2)
而不是f = x.^3-2*x-5;
z = fzero(f,2)
能不能说明下为什么要@??
展开
ruifengcao
2012-04-27 · TA获得超过9490个赞
知道大有可为答主
回答量:3579
采纳率:33%
帮助的人:2060万
展开全部
这个@叫做函数句柄,是matlab中定义函数使用的,下面的一种方式只是使用符号计算,不能给优化工具箱的函数使用。像fzero和fsolve这些函数必须定义为函数句柄!

祝你学习愉快!
lhmhz
高粉答主

2012-04-27 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:17003

向TA提问 私信TA
展开全部
@(x)相当于syms x 定义变量x
追问
但是这样还是错的,你看:
syms x;
f=x.^3-2*x-5;
x=fzero(f,2) 这里有用syms x 来定义x的啊
追答
>>  syms x;
>> z = fzero('x.^3-2*x-5',2)

z =

2.094551481542327
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式