필터 지우기
필터 지우기

matlab says the inline function will be removed in future release how should i execute a string function like '2*x.^2+5'

조회 수: 29 (최근 30일)
function
  댓글 수: 1
Stephen23
Stephen23 2017년 6월 20일
When you read the inline documentation the very first line of text says:
inline will be removed in a future release. Use Anonymous Functions instead.
How about using anonymous functions, just like the documentation recommends?

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2017년 6월 20일
Your function becomes:
fcn = @(x) 2*x.^2+5;
the call it as you would any other function:
y = fcn(x);
To convert a string to a function, use the str2func (link) function:
str = '2*x.^2+5';
fun = str2func(['@(x) ',str]);
y = fun(x);
This creates the anonymous function from the string, and returns a function handle.
  댓글 수: 6
Steven Lord
Steven Lord 2017년 6월 21일
Use the symvar function to identify the variable(s) and use the char vector it returns in defining the char vector you pass into str2func.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Andrei Bobrov
Andrei Bobrov 2017년 6월 21일
syms y
f = matlabFunction(2*y^2+3);

카테고리

Help CenterFile Exchange에서 Function Creation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by