0
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我正在绘制的值。如何解决这个问题?

4

1 回答 1

1

要为包含数值的标题创建字符串,请使用num2str

title(['Bode Plot: Phase Response (Imaginary) q = ' num2str(q(j))]);
于 2012-04-18T04:05:29.217 回答