# Error: Data must be numeric, datetime, duration, categorical, or an array convertible to double.

48 views (last 30 days)

Show older comments

Hello everyone,

I am trying to plot a function that has two different variables: theta and phi.

Theta = -pi/2:0.1:pi/2

Phi = Specific Values at 0 and pi/2

I have an error that says:

"Error: Data must be numeric, datetime, duration, categorical, or an array convertible to double."

I've tried looking up this error on different discussions. However, I wasn't able to find anything that helped with my specific scenario.

I have tried different methods and approaches: Using "symbolic variables", fimplicit function, fplot function, etc. However, I got different errors everytime I tried a different approach.

I attached my code for reference:

Plotting_Theta_Phi_Function.m

##### 0 Comments

### Accepted Answer

Voss
on 7 Jul 2024 at 22:55

tic

close all; clc;

% Declaring Theta and Phi Variables

theta = 0:0.1:pi/2;

% Phi Values

phi_E_Plane = 0;

phi_H_Plane = pi/2;

phi = [phi_E_Plane, phi_H_Plane];

% Declaring x and y variables as theta and phi

x = sin(phi);

y = cos(theta);

% Function Z is a combination of x and y

Z = @(x,y) x.^2.*y + y.^2.*x;

% Calculating E-Plane and H-Plane "values"

E_Plane = Z(theta,phi(1));

H_Plane = Z(theta,phi(2));

% Plotting E-Plane = Theta Range at phi = 0

plot(theta,E_Plane);

% Holding on to put the H-Plane on the same grid as the E-Plane

hold on;

% Plotting H-Plane = Theta Range at phi = pi/2

plot(theta,H_Plane);

% Placing a grid on the graph

grid on;

% Title, Axes, and Legends

title('E-Plane (dB) and H-Plane (dB) versus Theta (Radians)');

legend({'E-Plane','H-Plane'},'Location','northwest');

xlabel('Theta (Radians)');

ylabel('Magnitude (dB)');

toc

##### 5 Comments

Voss
on 8 Jul 2024 at 3:19

### More Answers (1)

Torsten
on 7 Jul 2024 at 22:57

% Declaring Theta and Phi Variables

theta = 0:0.1:pi/2;

% Phi Values

phi_E_Plane = 0;

phi_H_Plane = pi/2;

% Declaring x and y variables as theta and phi

x = @(phi)sin(phi);

y = @(theta)cos(theta);

% Declaring the function Z as a function of theta and phi

F = @(theta,phi)x(phi).^2.*y(theta) + y(theta).^2.*x(phi);

% Calculating E-Plane and H-Plane "values"

E_Plane = F(theta,phi_E_Plane);

H_Plane = F(theta,phi_H_Plane);

% Plotting E-Plane = Theta Range at phi = 0

plot(theta,E_Plane);

% Holding on to put the H-Plane on the same grid as the E-Plane

hold on;

% Plotting H-Plane = Theta Range at phi = pi/2

plot(theta,H_Plane);

% Placing a grid on the graph

grid on;

% Title, Axes, and Legends

title('E-Plane (dB) and H-Plane (dB) versus Theta (Radians)');

legend({'E-Plane','H-Plane'},'Location','northwest');

xlabel('Theta (Radians)');

ylabel('Magnitude (dB)');

##### 1 Comment

### See Also

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!