winniezz 发表于 2010-1-11 21:14

如果求矩阵的根轨迹曲线

有个矩阵,里面有三个量是变量
我想画出确定两个量,另外一个量给个范围
然后画出特征根曲线,matlab或者mathematica怎么画?

ChaChing 发表于 2010-1-11 23:25

个人水平有限, 但感觉LZ应具体些, 别人好先试看看!

winniezz 发表于 2010-1-12 10:24

具体点举个例子吧
现在是这个方程的解
x^5+(1256-7.749671104454708*10^5*Kb1)*x^4+(591576-5.684635405*10^8*Kb1-9.693981882*10^10*Kb1^2)*x^3+(123836576-7.704071183*10^10*Kb1-1.940165734*10^14*Kb1^2)*x^2+(9721171216+2.379385322*10^13*Kb1-9.316877299*10^16*Kb1^2-1.586584154*10^19*Kb1^3)*x+Kb1*(5.001619293*10^15-1.312691046*10^19*Kb1-4.981874242*10^21*Kb1^2)==0
我想求当Kb1在0到0.001之间变化时,这个方程的所有的根在一张图上表示出来。

maigicku 发表于 2010-1-12 11:37

直接用plot就行,参考程序:

clear;clc
Kb1=linspace(0,0.001,100);
f1=zeros(size(Kb1));
y=zeros(size(Kb1));
for j=1:length(Kb1)
    f1 = @(x) x.^5+(1256-7.749671104454708*10^5.*Kb1(j)).*x^4+(591576-5.684635405*10^8.*...
      Kb1(j)-9.693981882*10^10.*Kb1(j)^2)*x^3+(123836576-7.704071183*10^10.*Kb1(j)- ...1.940165734*10^14.*Kb1(j)^2)*...
      x^2+(9721171216+2.379385322*10^13.*Kb1(j)-9.316877299*10^16.*Kb1(j)^2-1.586584154*10^19.*...
Kb1(j)^3).*x+Kb1(j).*(5.001619293*10^15-1.312691046*10^19.*Kb1(j)-4.981874242*10^21.*Kb1(j)^2);
      y(j)=fzero(f1,[-1000 1000]);
end
plot(Kb1,y,'-r')

winniezz 发表于 2010-1-12 12:47

我不需要横坐标是Kb1,而是要把根的实部和虚部分开,在复平面表示,横坐标是实部,纵坐标是虚部

ChaChing 发表于 2010-1-12 14:37

参考下
Kb=0:0.0001:0.001; RootSol=zeros(length(Kb),5); hold on;
for ii=1:length(Kb),Kb1=Kb(ii);
pp=[1, (1256-7.749671104454708*10^5*Kb1), (591576-5.684635405*10^8*Kb1-9.693981882*10^10*Kb1^2), ...
    (123836576-7.704071183*10^10*Kb1-1.940165734*10^14*Kb1^2), ...
    (9721171216+2.379385322*10^13*Kb1-9.316877299*10^16*Kb1^2-1.586584154*10^19*Kb1^3), ....
    Kb1*(5.001619293*10^15-1.312691046*10^19*Kb1-4.981874242*10^21*Kb1^2)];
aaa=roots(pp); RootSol(ii,:)=aaa';
plot(aaa,'o'); pause(1);
end; hold off
figure; plot(RootSol,'o');

IRIS 发表于 2012-2-15 11:49

你好啊!麻烦请教个问题:知道传输矩阵,比如【1,2m;3n,4】假如设定m=0,n=0.0003~0.01,怎样画它特征根的根轨迹图?非常感谢!
页: [1]
查看完整版本: 如果求矩阵的根轨迹曲线