Error: Function definitions are not permitted in this context

1 view (last 30 days)
Hi, i tried multiple times to change the function inside a script, but it kept fail eventhough i follow all the instructions and keep correcting. Recently i knew that Matlab 2015b can't include function and script at the same window, so please give me solution. thank you
close all; clear; clc;
%menentukan opsi optimisasi
options = optimoptions('fminsearch','Display','iter','Algorithm','quasi-newton');
%menentukan guess value
xy_guess = [0,0];
%memanggil algoritma optimisasi
[xy_opt, fval] = fminsearch(@fun,xy_guess,options)
%fungsi objektif
function f = fun( in )
x = in(1);
y = in(2);
f = 100*(y-x^2)^2 + (1-x))^2
end

Answers (1)

Fangjun Jiang
Fangjun Jiang on 20 Mar 2020
Cut these code from your script. Create a separate .M file called fun.m and past the code.
%fungsi objektif
function f = fun( in )
x = in(1);
y = in(2);
f = 100*(y-x^2)^2 + (1-x))^2
end

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!