when i'm trying to run the below program, it is showing the following error. ??? Undefined function or variable 'z'. Error in ==> integration at 6 I=integrate(z*(cosh(k*(d+z)))^2,z,0,hc);
1 view (last 30 days)
Show older comments
the program is as follows:
clc;
d=input('d=');
L=input('L=');
hc=input('hc=');
k=2*pi/L;
I=integrate(z*(cosh(k*(d+z)))^2,z,0,hc)
Someone please help me...
thank you
1 Comment
Answers (1)
Walter Roberson
on 18 Feb 2013
You are confusing numeric integration with symbolic integration.
symbolic integration uses int() instead of integrate(), and requires that the free variable have been pre-defined as a symbol (unless quoted strings are passed in.) symbolic integration requires the integration variable as the second parameter, the way you have passed it in.
syms z
I_symbolic = int(z*(cosh(k*(d+z)))^2,z,0,hc));
I_numeric = double(I_symbolic);
Numeric integration cannot have any free variables, and must have a function as its first parameter. The second parameter is never the variable of integration for numeric integration.
I_numeric = integrate(@(z) z*(cosh(k*(d+z)))^2,0,hc);
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!