q=[1, 4, 10, 50, 100];
for j=1:length(q)
for i=1:q(j)
Dq=D(1:q(j),1:q(j));
Vq=V(1:q(j),1:q(j));
Cq=C(1:q(j));
Bq=B(1:q(j));
end
S = logspace(-8,4,500);
k=1;
for p=S
Y(k)=Cq*Vq*inv(1i*p*eye(q(j))-Dq)*inv(Vq)*Bq;
k=k+1;
end
figure;
hold on
subplot(2,1,1);
semilogx(S,real(Y));
grid; ylabel('|H(j\omega)|');
title(['Bode Plot: Magnitude Response (Real)q=',q(j)]);
subplot(2,1,2);
semilogx(S,imag(Y));
grid; xlabel('\omega (rad/sec)'); ylabel('\angleH(j\omega)');
title(['Bode Plot: Phase Response (Imaginary) q = ',q(j)]);
end
q
たとえば、タイトルにq=1
、...の値を出力したいと思います。コードは正常に機能していますが、タイトルの値、特にプロットしてq=100
いる値が表示されません。これを修正する方法は?q
q