I'm trying to calculate the root,gamma of my function over a range of angles from 0 to 90 but it's giving om errors which I don't know how to fix. here is my code and the error message,
function [g1] = rtfnd(n_1,nu_bar_0_cm,thetad)im = sqrt(-1);c = 2.99792458e+08; mu_0=4*pi*1e-7;eps_0 = 8.8541878176e-12; phid = 0; nu_bar_0 = nu_bar_0_cm * 1e2; lambda_0 = 1/nu_bar_0;eps_1 = ((n_1)^2)*eps_0*eye(3);nu = c/lambda_0;lambda_1 = lambda_0/n_1; w=2*pi*nu; Al = 2*pi*sind(thetad)*cosd(phid)/lambda_1;%alpha
Bt= 2*pi* sind(thetad) * sind(phid)/lambda_1; % beta
syms gamma x11 = (w^2)*mu_0*eps_1(1,1)-(Bt^2)-(gamma^2);x12 = (w^2)*mu_0*eps_1(1,2)+Al*Bt;x13 = (w^2)*mu_0*eps_1(1,3)+Al*gamma;x21 = (w^2)*mu_0*eps_1(2,1)+Al*Bt;x22 = (w^2)*mu_0*eps_1(2,2)-(Al^2)-(gamma^2);x23 = (w^2)*mu_0*eps_1(2,3)+Bt*gamma;x31 = (w^2)*mu_0*eps_1(3,1)+Al*gamma;x32 = (w^2)*mu_0*eps_1(3,2)+Bt*gamma;x33 = (w^2)*mu_0*eps_1(3,3)-(Bt^2)-(Al^2);M = [x11 x12 x13; x21 x22 x23; x31 x32 x33];detM = det(M);gamma = solve(detM,gamma);g1 = double(gamma);%%%%%%%%%%%%%%%%%%%%% i called this file testroot_2.m in the workspace
n_1 = 1 ; nu_bar_0_cm=1000; theta_points = 361; theta_start = 0; theta_end = 90; theta_incr = (theta_end - theta_start)/(theta_points - 1); theta = theta_start:theta_incr:theta_end; for ii = 1:length(theta) A = rtfnd(n_1,nu_bar_0_cm,thetad); end %%%%%%%%%%%%% this is the error message
>> testroot_2Error: File: rtfnd.m Line: 49 Column: 1"gamma" previously appeared to be used as a function or command,conflicting with its use here as the name of a variable.A possible cause of this error is that you forgot to initializethe variable, or you have initialized it implicitly using loador eval.Error in testroot_2 (line 15) A = rtfnd(n_1,nu_bar_0_cm,thetad);
Best Answer