Why am I getting "Undefined function or variable" when I use an exponential in the function?

My code worked for other functions, but as soon as I use the exponential function, I am getting an error saying that "I" is undefined, and I honestly have no idea why it's giving me an error only for the exponential function.
a = 0;
b = 1;
N = 10;
f = @(x) exp(-x);
h=(b-a)/N;
j = 0;
x=linspace(a,b,N);
for i = 1:N-1
j=j+f((2*i+1)/2)*x;
end
answer1 = sum(I)

답변 (1개)

James Tursa
James Tursa 2019년 4월 11일
There is no "I" variable in your code. Hence the error.

댓글 수: 5

When I defined the code as:
a = 0.001;
b = 1/2;
N = 10;
f = @(x) cos((pi*cos(x))/2).^2.*csc(x);
h=(b-a)/N;
j = 0;
x=linspace(a,b,N);
for i = 1:N-1
j=j+f((2*i+1)/2)*x;
end
answer1 = sum(I)
It was not giving me that error. Also tried things such as x^2 and cos(x), and I wasn't getting that error then.
Look at your code again. There is no "I" variable defined. Here is what I get when I run your above cos( ) code from a clean workspace:
Undefined function or variable 'I'.
You probably have a left-over "I" variable in your workspace from a previous calculation. Sometimes it is there and sometimes it isn't so you get the error "randomly" or at least unexpectedly. The solution is to fix your code and define all the variables that your code uses (including the "I" variable) in your code.
Interestingly enough, I definied my f for a different problem and got the error initally stated, but the new problem doesn't have an exponential in it.
f = @(x) cos(4*cos(x)+x);
What does the exponential have to do with your problem of "I" not being defined?
I wonder if it is possible Nocholas has created a script of function named exp?

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

카테고리

도움말 센터File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

태그

질문:

2019년 4월 11일

댓글:

2019년 4월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by