24小时热门版块排行榜    

查看: 1020  |  回复: 1

misamchen

新虫 (初入文坛)

[求助] 矩阵里面取数值相除消掉最高次项后赋值另一个矩阵怎么可以没有余项

A*s^4 + B*s^3 + C*s^2 D*s + E
/
F*s^5 + G*s^4+ H*s^3 + I*s^2 + J*s + 1
=
=1/(c5*s + 1/(r5 + 1/(c4*s + 1/(r4 +1/(1/(r3 + 1/(c2*s + 1/(r2 + 1/(c1*s
+ 1/r1)))) + c3*s)))))
                                     1
= ---------------------------------------------------------
                                     1
c5s +   --------------------------------------------------
                                      1
             r5 + ---------------------------------------------
                                              1
                   c4 s +--------------------------------------
                                                     1
                             r4 + ---------------------------------
                                                             1
                                  c3 s + --------------------------
                                                                    1
                                             r3 +---------------------
                                                                    1
                                                   c2 s +--------------
                                                                          1
                                                              r2 +---------
                                                                              
                                                                            1
                                                                    c1 s+ --
                                                                              
                                                                             r1

用的辗转相除的办法,可如附图算出结果。
矩阵里面取数值相除消掉最高次项后赋值另一个矩阵怎么可以没有余项
并且自己学习写了一段,然后发现
输入N和D =

format longg

N = [1709000        5505000        1632000        47000        144.99]
D = [1 36393000 14591000 779000 8043.2 4.506]

>> fostertocauerdiode5(N,D)
结果从r5那个值开始,后面的项就消不掉了,可是还是要继续算,好纠结。。。
后来发现从第一次想要减去最高次项的式子里,因为matlab里面除法得到的商再乘以除数,被被除数减完还有剩余的最高此项Z(1,:)=U(1,:)-M(1,:).*w(1);
但是我尝试了从第二次项赋值,还是得不到正确的第二次辗转相除的结果,求问我这个赋值有什么问题?谢谢!
现在只需要先写五阶的式子,如果有大神可以帮忙仅仅五阶的式子,也十分感激!

赋值部分如下:

(from line 45)

w(1)=U(1,6)/M(1,5);

w(1)

U(1,6)=0;
M(1,6)=0;
% M(1,5)=0;
U (2,:) = M (1,:);
Z(1,:)=U(1,:)-M(1,:).*w(1);
% Z(1,6)=0;

U (2,:) = M (1,:);
M (2,:) = Z (1,:);

w(2)= U (2,5)/M (2,5);
w(2)


U(2,5)=0;
M(2,5)=0;
Z(2,:)=U(2,:)-M(2,:).*w(1);

整体code如下, 当然如果只帮忙看看5阶的代码也感谢!  :)

function g = fostertocauerdiode5b(N,D)


%clc

x=size(N);y=size(D);
L=size(N)-size(D);
if (L(1,2)>0)
     D((y(1,2)+1):x(1,2))=0;
end
if (L(1,2)<0)
    N((x(1,2)+1):y(1,2))=0;
end
clear x y L;

syms s;
L=size(D);
P=L(1,2);
j=1;q=1;
for i=1:P
    if N(i)~=0
        A(j)=N(i)*s^(i-1);
        j=j+1;
    end
    if D(i)~=0
        B(q)=D(i)*s^(i-1);
        q=q+1;
    end

end

M(1,:)=A(1,:);   
% The matrix built by numerator after the first calculation...............

U(1,:)=B(1,:);
%The matrix built by numerator after the first calculation...............

w(1)=U(1,6)/M(1,5);

W(1)=w(1,1); %.....................
W(1)

x=size(M);y=size(U);
L=size(M)-size(U);
if (L(1,2)>0)
     U((y(1,2)+1):x(1,2))=0;
end
if (L(1,2)<0)
    M((x(1,2)+1):y(1,2))=0;
end
clear x y L;


Z(1,:)=U(1,:)-M(1,:)*w(1);%
%z(1)=sum(U(1,:)')'-sum(M(1,:)')'*W(1);

k=2;

while (P-1)~=0
% while sum(Z(k-1,:)')~=0 %  sum(A) treats the columns of it as vectors, returning a row vector of the sums of each column.Then it shows the sum of each row
%     L=size(Z);   
    U(k,:)=M(k-1,:);
    %clear M;
    M(k,:)=Z((k-1),:);
%     clear L;
    w(k)=U(k,(P-1))/M(k,(j-1));
    W(k)=w(k);
   
%     x=size(M);y=size(U);
%     L=size(M)-size(U);
%     if (L(1,2)>0)
%      U(:,(y(1,2)+1):x(1,2))=0;
%     end
%     if (L(1,2)<0)
%     M(:,(x(1,2)+1):y(1,2))=0;
%     end
%     clear x y;
% %     clear x y L;
    Z(k,:)=Z((k-1),:)-U(k,:)*W(k);
    W(k)
    if P == j
        j=j-1;
    end
    if P ~= j
        P=P-1;
    end
    k=k+1;
end

end







谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

misamchen

新虫 (初入文坛)

w(1)=U(1,6)/M(1,5);  % 第一次计算电容值是正确的

w(1) % 输出电容值是对的

% U(1,6)=0; 开始尝试想赋值,但是感觉第六列没什么帮助
% M(1,6)=0;

Z(1,6)= [s s s s s s];% 完全是为了想知道Z里面是怎么回事

Z(1,=U(1,-M(1,.*w(1); % 得到分子分离出电容部分之后剩下的部分
M(1,5)% 完全是为了想知道M是怎么回事
M(1,5).*w(1);% 完全是为了想知道乘完以后是怎么回事
Z(1,5)%乘完之后减。。。得到第一次的剩余,结果出现错误在这里了

运行如下:
ans =

(751*s)/24165


ans =

(14499*s^4)/100


ans =

(40216*s^4)/5 - (2253*s^5)/500


ans =

(14499*s^4)/(100*((40216*s^4)/5 - (2253*s^5)/500))
倒数第二个结果就出现错误了
但是不知道怎么改
我的s设的是syms,但是我不是很清楚错误出在哪里,请大神指出
不胜感激!
2楼2014-07-08 21:05:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 misamchen 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] FileCode能看出啥? +8 要乐观耀哥 2026-08-10 23/1150 2026-08-13 00:35 by 要乐观耀哥
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 36/1800 2026-08-12 22:50 by sdfapple719
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 听说今天filecode变了 +26 布布和一二 2026-08-06 49/2450 2026-08-11 13:18 by WH3796
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
信息提示
请填处理意见