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 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Walter Roberson
2013 年 2 月 18 日
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);
参考
カテゴリ
Help Center および File Exchange で Symbolic Math Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!