Effacer les filtres
Effacer les filtres

Vectors mut be the same length.

9 vues (au cours des 30 derniers jours)
Alisa-Oleksandra Kotliarova
Alisa-Oleksandra Kotliarova le 23 Déc 2023
I have the following code:
% Вектор абцис частотних функцій і кут:
lomega=logspace(-1,1);
pl=lomega*1i;
% Передатна функція:
Wl=k./(T2*T1*p.^2+T1*p+1);
% Модуль передатної функції і її логарифмічний вигляд:
Al=abs(Wl);
L=20*log10(Al);
%Перевод даних в градуси:
fil=angle(Wl);
fil_d=fil.*180./pi;
H=20*log10(fil_d);
figure(3);
subplot(2,1,1);
semilogx (lomega, L), grid on
title('ЛАЧХ');%ЛАЧХ;
xlabel('ω');
ylabel('A');
subplot(2,1,2);
semilogx (lomega, H), grid on
title('ЛФЧХ');%ЛФЧХ;
xlabel('ω');
ylabel('φ');
It only gives:
Error using semilogx
Vectors must be the same length.
Error in Lab3_var5 (line 63)
semilogx (lomega, L), grid on
How can I correct it? Thank you.
  3 commentaires
Dyuman Joshi
Dyuman Joshi le 23 Déc 2023
Modifié(e) : Dyuman Joshi le 23 Déc 2023
There are many undefined variables in the code above.
The number of elements of the variables (or vectors) to be plotted, lomega and L, are not the same.
To correct the error, make sure both variables have the same number of elements.
Image Analyst
Image Analyst le 23 Déc 2023
What is the size of lomega and H? Evidently they don't have the same number of elements. Do you know how to debug? Look in the workspace panel for the sizes of the variables.

Connectez-vous pour commenter.

Réponse acceptée

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 23 Déc 2023
Check what is the size of the transfer function W1 size at first and then the question becomes clear.
Since k, T1, T2 are not given in your code, just assuming them to be scalars, your code works ok:
lomega=logspace(-1,1);
pl=lomega*1i;
% Assuming these values for k, T1, T2
k = 1;
T1 = 1;
T2 = 2;
p=pl;
% Передатна функція:
Wl=k./(T2*T1*p.^2+T1*p+1);
% Модуль передатної функції і її логарифмічний вигляд:
Al=abs(Wl);
L=20*log10(Al);
%Перевод даних в градуси:
fil=angle(Wl);
fil_d=fil.*180./pi;
H=20*log10(fil_d);
figure(3);
subplot(2,1,1);
semilogx(lomega, L), grid on
title('ЛАЧХ');%ЛАЧХ;
xlabel('ω');
ylabel('A');
subplot(2,1,2);
semilogx(lomega, H), grid on
Warning: Imaginary parts of complex X and/or Y arguments ignored.
title('ЛФЧХ');%ЛФЧХ;
xlabel('ω');
ylabel('φ');
  2 commentaires
Alisa-Oleksandra Kotliarova
Alisa-Oleksandra Kotliarova le 23 Déc 2023
Thanks, that helped a lot!
Sulaymon Eshkabilov
Sulaymon Eshkabilov le 23 Déc 2023
Most welcome! Glad to help.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by