undefined function or variable when definition set

hello
my work space looks
'f, minusF, p1, p2, p3, p4, p5, p6, p7, p8, p9, RMSD, Sim'
however when I issue the fminbnd command I see
x = fminbnd(minusF,0,1200)
Undefined function or variable 'p9'.
Error in @(x)p1*x^8+p2*x^7+p3*x^6+p4*x^5+p5*x^4+p6*x^3+p7*x^2+p8*x+p9
Error in @(x)-f(x)
Error in fminbnd (line 215)
x= xf; fx = funfcn(x,varargin{:});
is this error caused by the workspace ordering? If so will someone corrects me or provide a link to the required order in which commands must be entered into Matlab please.
Gavin.

 採用された回答

Gavin Seddon
Gavin Seddon 2015 年 9 月 16 日

0 投票

Thanks, this briefly answers my long question Walter.

その他の回答 (2 件)

Jan
Jan 2015 年 9 月 16 日

0 投票

Has p9 been defined before creating minusF?
Please post the relevant part of the code.
Walter Roberson
Walter Roberson 2015 年 9 月 16 日

0 投票

You should never create a function handle that mentions something that has not already been defined. The exception is that when you define an anonymous function, in the part after the @() you can mention any variable name that appeared inside the @()
The order must be to define p1, p2, p3, p4, p5, p6, p7, p8, p9, and then you can use
f = @(x) p1.*x.^8 + p2.*x.^7 + p3.*x.^6 + p4.*x.^5 + p5.*x.^4 + p6.*x.^3 + p7.*x.^2 + p8.*x + p9;
and then you can use
minusF = @(x) -f(x)
and then you can pass minusF into fminbnd()

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

タグ

タグが未入力です。

質問済み:

2015 年 9 月 16 日

回答済み:

2015 年 9 月 16 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by