what could be causing matrix dimensions must agree error

I am trying to plot the gain as a function of frequency. i am trying to vary the frequency from 1 to 1E6, this is so i gan have a frequency range. This is not necessarily needed to solve my problem though. I am getting this error "Error using " / " Matrix dimensions must agree." at line 7 for this segment of code. Its nothing complicated i am just sure that i am doing something incorrect. I have commented out the other way i was going to go about this. so that can be ignored.
clear;
%for i from 0 to 1E8;
% f [i]= i;
c = 3^8;
frequency = 1:100:10^6;
lambda = c/frequency;
area = .1^2;
gain = (((4*pi)/lambda^2)/(area));
subplot (1,1,1)
plot (frequency,gain)
grid on

 Respuesta aceptada

You need to use element-wise operations (the ‘dot operator’) in the exponentiation and division, in your lambda and gain calculations.
This works:
c = 3^8;
frequency = 1:100:10^6;
lambda = c./frequency;
area = .1^2;
gain = (((4*pi)./lambda.^2)/(area));
subplot (1,1,1)
plot (frequency,gain)
grid on
See the documentation on Array vs. Matrix Operations (link) for an extended discussion.

2 comentarios

awesome! thank you! I am just not a matlab guru yet and didn't really know about that.
As always, my pleasure!
No worries!

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2017b

Preguntada:

el 13 de En. de 2019

Comentada:

el 13 de En. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by