Why do I get“Error using plot Vectors must be the same length."
古いコメントを表示
Please tell me how to correct it.
Ts = 0.001;
fs = 1/Ts;
To = 0.5;
t = 0:Ts:To-Ts;
N = length(t);
d = [0 1 0 1;0 0 1 1;1 0 1 0;1 1 0 0];
Ibranch = d(1:2:end);
Qbranch = d(2:2:end);
Im = [];
Qm = [];
for k1 = 1:length(Ibranch)
Im = [Im Ibranch(k1)*ones(1, N)];
Qm = [Qm Qbranch(k1)*ones(1, N)];
end
figure(1);
subplot(2,1,1);
plot(t, Im);
title('In-Phase Pulse Waveform');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(2,1,2);
plot(t, Qm);
title('Quadrature Pulse Waveform');
xlabel('Time (s)');
ylabel('Amplitude');
1 件のコメント
Walter Roberson
2023 年 11 月 8 日
Im = [];
Qm = [];
for k1 = 1:length(Ibranch)
Im = [Im Ibranch(k1)*ones(1, N)];
Qm = [Qm Qbranch(k1)*ones(1, N)];
end
What are you trying to do? Have you considered repelem ? Not that it is at all clear to me why you are replicating the values.
回答 (1 件)
Cris LaPierre
2023 年 11 月 8 日
編集済み: Cris LaPierre
2023 年 11 月 8 日
Make sure t and Im have the same number of elements.
Ts = 0.001;
To = 0.5;
t = 0:Ts:To-Ts;
N = length(t);
d = [0 1 0 1;0 0 1 1;1 0 1 0;1 1 0 0];
Ibranch = d(1:2:end);
Im = [];
for k1 = 1:length(Ibranch)
Im = [Im Ibranch(k1)*ones(1, N)];
end
size(t)
size(Im)
2 件のコメント
Chris
2023 年 11 月 8 日
I'm not sure what you are trying to do. Best option may be to remove the for loop. Once you understand why this works, start adding to the code until you get a working final solution.
Ts = 0.001;
To = 0.5;
t = 0:Ts:To-Ts;
N = length(t);
d = [0 1 0 1;0 0 1 1;1 0 1 0;1 1 0 0];
Ibranch = d(1:2:end);
k1 = 1;
Im = Ibranch(k1)*ones(1, N);
size(t)
size(Im)
plot(t, Im);
title('In-Phase Pulse Waveform');
xlabel('Time (s)');
ylabel('Amplitude');
カテゴリ
ヘルプ センター および File Exchange で Continuous Waveforms についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

