[EDIT: 20110623 22:10 CDT – reformat – WDR]
I am having considerable difficulty with the program below. My goal is to be able to enter or change the Current Density (J) in the integral as an anonymous function. When j = 2*cos(theta)/r^3, the result should be about 31.4. Are there any other methods that would allow me to enter J inot the integral?
When I run I get the following error message:
??? Undefined function or method 'mtimes' for input arguments of type 'function_handle'.
When I swap the "%" on the operator inside the loops I get a 31.4, a good result.
clcclear closer = 0.2;dt = .1;dp = .1;jinput = input('Enter an expression for the Current Density (J)... > ','s') jfactor = eval(['@(r,theta,phi)' jinput]);% set initial total sum to zero
sum1 = 0; % outer integral loop
for theta = 0:dt:pi/2 % inner integral loop
for phi = 0:dp:2*pi% add the partial sums to the total sum
sum1 = sum1 + jfactor*r^2*sin(theta)*dt*dp; %sum1 = sum1 + 2*cos(theta)/r^3*r^2*sin(theta)*dt*dp;
end end % display the output
fprintf('>The total current through the defined spherical shell is %g A.\n', sum1)
Best Answer