| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 653 人关注过本帖
标题:将多项式反符号的问题
只看楼主 加入收藏
terry04
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-13
收藏
 问题点数:0 回复次数:2 
将多项式反符号的问题

我想求一个多项式取极大值时候自变量的取值。我知道matlab里有一个函数fminbnd('f(x)',x0,x1),是用来在区间(x0,x1)之间找极值点的。但是这只能找极小值,我想要的是极大值。
做了一个简单的m文件,名字是getroot.m,内容如下:
function [ b ] = getroot( a )
%UNTITLED1 Summary of this function goes here
% Detailed explanation goes here

b = fminbnd(a,0,1)
在matlab下输入getroot('x^2-2*x+1)可以得到正确的结果:0.9999,极小值点,但是当我想改成b = fminbnd(-a,0,1)时就不行了,我是刚开始学这个,所以不太懂他的错误提示:
??? Error using ==> fcnchk
FUN must be a function, a valid string expression,
or an inline function object.

Error in ==> fminbnd at 148
funfcn = fcnchk(funfcn,length(varargin));

Error in ==> getroot at 7
b = fminbnd(-a,0,1)

请教大家该怎么做!谢谢了 m(_ _)m

搜索更多相关主题的帖子: 多项式 符号 
2007-04-13 14:15
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
收藏
得分:0 
function y=roo(a)
a=['-' '(' a ')'];
T=inline(a);
y=fminbnd(T,0,1);


>> roo('-x^2-1')

ans =

  6.6107e-005

>> 

2007-04-13 14:36
terry04
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-13
收藏
得分:0 
回复:(terry04)将多项式反符号的问题

真是太感谢你了!!!已经翻了半天网页了,都没找到答案。谢谢!!!

2007-04-13 15:06
快速回复:将多项式反符号的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017702 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved