How do I get a function to calculate an output for an input variable that has a range?

9 views (last 30 days)
I would like to put a variable into a function and use a range of values for that particular variable. How would I go about inputting a range. e.g I would like to use the 'diams' range for the function below.
diams=100:100:1000; [I_pol]= Software_Circular_angle_scan(diams);

Answers (1)

Star Strider
Star Strider on 9 Sep 2016
You don’t provide enough information to give a specific reply. Depending no what you want to do, you will likely have to use element-wise operators (and possibly loops). See Array vs. Matrix Operations for details on using element-wise operators.
  1 Comment
Joshua Welsh
Joshua Welsh on 9 Sep 2016
diams=100:100:1000; [I_pol]= Software_Circular_angle_scan(diams);
The above equation will be fed into:
if true
% code
diam=diams;
%
n_RI = 1.59; % refractive indices
n_wat = 1.337;
%
m = n_RI/n_wat;
%
lam = 488; % wavelength (nm)
I = 1.09e7;
k0 = 2*pi/lam*n_wat;
x = k0*(diam/2);
%
openang_range = 0:0.1:20;
%
nx = length(openang_range);
%
a = zeros(nx,1);
%
parfor j = 1:nx
teta0 = 0;
phi0 = 90;
% a(j,:)=mie(m,x(j));
a(j)= Mie_circle_integral1(m, x, teta0, phi0, openang_range(j));
end;
%
q_pol=a;
I_pol = q_pol .* ((diam'*1e-9/2).^2)*pi * I;
end

Sign in to comment.

Categories

Find more on Structures 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!