Problem:
I'd like to calculate a limit, but for some reason I can't use the '/' operand. Can somebody explain why?
Error message:
Error using / (line 485)
Invalid operands.
Code:
syms s;
limit(s/(((2*eulergamma^(-23*s)/a)*1.07 + 0.0114/s + 25.3045*s))*1/s, s, 0)

댓글 수: 6

I assume a is a vector(?)
what about this?
limit(s./(((2*eulergamma^(-23.*s)./a)*1.07 + 0.0114./s + 25.3045.*s))*1./s, s, 0)
That worked but I've changed it up a bit and I got new error message :D
GS is a transfer function and GRS is holding 3 things, P, I & D parameters of PID regulator
limit((s.*1./s)./(1 + GS*GRS), s, 0)
Error using sym/subsindex (line 953)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and
function body must be sym expression.
Error in sym/subsref (line 997)
R_tilde = builtin('subsref',L_tilde,Idx);
Ive J
Ive J 2022년 2월 22일
Maybe you can share GS and GRS? I guess something's wrong with GS definition (have you seen here?).
Damián Bombara
Damián Bombara 2022년 2월 22일
GRS: val =
(50609*s)/2000 + 57/(5000*s) + 107/100
GS: val =
(2/eulergamma^(23*s))/((93*s)/2 + 1)^2
I can't replicate the error:
syms s;
GRS = (50609*s)/2000 + 57/(5000*s) + 107/100;
GS = (2/eulergamma^(23*s))/((93*s)/2 + 1)^2;
limit((s.*1./s)./(1 + GS*GRS), s, 0)
ans = 
0
BTW, you should note that there is a huge difference between * and .* in MATLAB
Damián Bombara
Damián Bombara 2022년 2월 22일
That's weird, now it's working. I didn't change anything but it works.
Well, thank you very much for your help, I really appreciate it!

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

 채택된 답변

Damián Bombara
Damián Bombara 2022년 2월 22일

0 개 추천

@Ive J solved it in the comments.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

제품

릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by