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 个)
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!

