Evaluating a function at complex values

조회 수: 13 (최근 30일)
J Schreiber
J Schreiber 2020년 11월 4일
편집: Alan Stevens 2020년 11월 4일
I am new to MATLAB and I am trying to evaluate a sybomlically defined function at complex values, but I get an error saying 'Array indices must be positive integers or logical values'. What should I change so that this works and outputs a complex value?
syms x
F = x^5-5*x^4-8*x^3+40*x^2-9*x+45;
P0 = 0+1i;
F(P0)

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 11월 4일
F is a symbolic expression, not a symbolic function. You need to use subs()
syms x
F = x^5-5*x^4-8*x^3+40*x^2-9*x+45;
P0 = 0+1i;
subs(F, x, P0)
Following define F as symbolic function
syms x
F(x) = x^5-5*x^4-8*x^3+40*x^2-9*x+45;
P0 = 0+1i;
F(P0)

추가 답변 (1개)

Alan Stevens
Alan Stevens 2020년 11월 4일
편집: Alan Stevens 2020년 11월 4일
You need to make sure F is a function. For your particular function you don't need it to be symbolic:
>> F =@(x) x^5-5*x^4-8*x^3+40*x^2-9*x+45;
>> P0 = 2+0.5*i;
>> F(P0)
ans =
87.3125 -11.4688i

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by