MATLAB中克莱默法则的快速应用

众所周知,克莱默法则是求解方程组的好工具,那在我们使用matlab求解的时候会因为输入步骤繁杂而放弃这种办法,就像下图一样。


今天小编为了解决这个问题,写了一个函数,以后使用的时候可以直接调用。


比如求解这个问题:


我们只需输入:

a=[2 1 -5 1;1 -3 0 -6;0 2 -1 2;1 4 -7 6];

b=[8 9 -5 0]';

kramer(a,b);

即可得到答案。


可以看到与答案一模一样。


就像这样,非常好用。

代码:

% 写一个函数为了快速使用克莱默法则

function y=kramer(a,b)

%判断矩阵是否为方阵

[rs,cs]=size(a);

if rs~=cs

  disp('系数矩阵必须为方阵,不可以使用克莱默法则')

return

end

  A={};

DD=det(a);

if DD==0

   disp('行列式等于0,无效')

return

end

for n=1:size(a,2)

  c=a;

  c(:,n)=b;

   A{n}=c;

end

  y=zeros(1,size(a,2));

  D=[];

  for m=1:size(a,2)

      D(m)=det(A{m});

  end


  y=D/DD;

  disp(['结果为:',num2str(y)])


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空