Problema simple de Matlab [cerrado]

-3

Acabo de empezar a trabajar con Matlab la semana pasada, por lo que soy muy nuevo. Después de buscar por un tiempo, me di cuenta de que no sé cómo arreglar un script de Matlab con el que estoy trabajando. El problema se da a continuación.

z(jω) = R + (jwl)/(1−(w^2)LC)
If L = 1 mH, C = 10 μF, and R = 100 Ω, plot the magnitude of the input 
impedance for w = 10, 100, 1000, 1.0e04, and 1.0e05 rads/s.

Esto es todo lo que sentí que era necesario para resolver este problema introductorio:

L = 0.001;
C = 0.00001;
R = 100;

z = @(w) (abs(R+(1j*w*L)/(1-(w.^2)*L*C)));
W = [10 100 1000 10000 100000];
out = z(W);
plot(W, out)
xlabel('w (rad/s)')
ylabel('z (ohms)')

pero por alguna razón, 'out' es siempre un solo número en lugar de una matriz de 1x5 como W es. Me he metido con eso por un tiempo y he tratado de averiguar qué está pasando, pero no he llegado a ningún lado. Gracias de antemano a todos.

    
pregunta RoryHector

1 respuesta

2
  1. Debería usar ./ para por elemento, en lugar de dividir en matriz.

  2. Realmente no hay necesidad de un controlador de función aquí.

Lo escribiría así (NOTA: no hay Matlab en esta computadora, por lo que no está probado):

w = [10 100 1000 10000 100000];
z = (R+(1j*w*L))./(1-(w.^2)*L*C);

plot(w, abs(z))
xlabel('w (rad/s)')
ylabel('z (ohms)')
    
respondido por el Matt Young

Lea otras preguntas en las etiquetas