필터 지우기
필터 지우기

Problem with writing this function

조회 수: 1 (최근 30일)
Hanna Sundling
Hanna Sundling 2019년 10월 9일
댓글: Jon 2019년 10월 9일
I do not understand what is wrong with this function. When I try to run the function written like this the error down below comes up.
y = (x.-1)/((x.^2).+x)

채택된 답변

Jon
Jon 2019년 10월 9일
편집: Jon 2019년 10월 9일
You may have some other issues also, but assuming that you have defined x as a column or row vector and you are expecting to calculate y for each element of x you should use something like
y = (x -1)./(x.^2 + x)
Note that the . operator is needed to get element by element division as in ./ and element by element exponentiation as in x.^2
The . operator is not needed and in fact is not a recognized operation for addition and subtraction which is always performed element by element in MATLAB

추가 답변 (1개)

Vikas Kumar
Vikas Kumar 2019년 10월 9일
Agree with Jon. I think you are getting error because of . operator you use with the addition and subtraction. This . operator is only meaningful when you want to do element by element operation, which in case of addition and subtraction is by default.
So:
y = (x-1)./((x.^2)+x)
  댓글 수: 1
Jon
Jon 2019년 10월 9일
Note also that parenthesis around exponentiation are not necessary either. They do not cause an error, but make the expression harder to read.

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

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by