In an assignment A(I) = B, the number of elements in B and I must be the same.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ben Booth
am 18 Feb. 2015
Kommentiert: Ben Booth
am 18 Feb. 2015
Hi all,
I am using Matlab for a university tutorial, and have been assigned the task of:
"Plot the response of G1(s) to the first cycle of a sine wave
G1(s) = (3s+2) / (2s^3+4s^2+5s+1)
u(t) = | 0 for t<0 | 2*sin(10*pi*t) for 0<t>8 | 0 for t>=8"
In order to solve the problem, I have written the following code:
num=[3 2];
den=[2 4 5 1];
time=[0:0.02:10]';
u=zeros(length(time),1);
x=2*sin(10*pi*time);
for i=min(find(time>=0 & time<8):length(time))
u(i)=x;
end
sys=tf(num,den);
y=lsim(sys,u,time);
plot(time,y,'r',time,u,'m')
However, I am receiving the error "In an assignment A(I) = B, the number of elements in B and I must be the same."
I understand that this issue is arising because I am trying to input a vector (x) into a scalar (i), however, I am unsure how I can overcome this issue, as my value for x is constantly changing. Could anyone advise me on a function which can be used, or any modification I could use to resolve the issue.
Thank you in advance, Ben
0 Kommentare
Akzeptierte Antwort
Siehe auch
Kategorien
Mehr zu Graphics Objects finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!