How to resolve the error-Input arguments of type 'double'?.
显示 更早的评论
I tried to perform double integration using syms function in my program. Its generating the error- Input arguments of type 'double. What could be the possible mistake?
The expression is :
delF=((-h^2)/rad)*sigma*(rad^2)*(2*pi)*omega*square(abs((R2*exp((alpha/rad)*z))+(S2*exp((-alpha/rad)*z))))**
Here h is the harmonic order which assumes its value for every iteration (from an outer for loop).
omega and sigma are constants.
R2,S2 and alpha are parameters which are calculated during the iteration process
Its a 2D cylindrical coordinate system analysis with the given expression integrated over radius (rad) and z
The limits of integration for rad-inner radius (Rin) and outer radius (Rout)(Rin and Rout are taken as inputs) z-g to (g+e) (g and e are also taken as inputs)
my code is:
syms rad z
firstans=int(((-sigma*(h^2)/rad)*(2*pi)*omega*(rad^2))*(square(abs((((R2*exp((alpha*z/rad))+(((S2*exp((-alpha*z/rad))))))))))),rad,Rin,Rout);
answer=int(firstans,z,g,g+e);
[Merged information from duplicate question]
When I tried to perform double integration it is generating an error "input arguments should be of type double". I used syms command. How do I check if the parameters of my function are of type 'double'
12 个评论
Matt Fig
2012-9-26
You know that it always help to show the actual code, so please do so.
Subhashree rajagopal
2012-9-28
编辑:Subhashree rajagopal
2012-9-28
Walter Roberson
2012-9-28
Which line is the error being generated on? Please show the error trace.
Use the debugger to stop at that line and examine the arguments.
Subhashree rajagopal
2012-9-28
Walter Roberson
2012-9-28
So the problem is not the double integration, it happens even on the first integration ?
Subhashree rajagopal
2012-9-29
Walter Roberson
2012-9-29
As I wrote before, "Use the debugger to stop at that line and examine the arguments."
Subhashree rajagopal
2012-10-4
Walter Roberson
2012-10-4
What did you determine the cause to be?
Subhashree rajagopal
2012-10-4
Subhashree rajagopal
2012-10-4
Walter Roberson
2012-10-4
oooo... I missed seeing the square() call. Good hunting there.
回答(1 个)
Muruganandham Subramanian
2012-9-28
编辑:Walter Roberson
2012-9-28
0 个投票
Hi,
Before doing that integration using 'syms' command. better you convert all the variables by using double('var') or other commands like single(' '); , etc...Then try it.
1 个评论
Walter Roberson
2012-9-28
Probably not. int() is symbolic integration, and if all the variables are floating point, there will not be anything useful to integrate.
类别
在 帮助中心 和 File Exchange 中查找有关 Functional Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!