matlab中用的高斯消元法怎么使用!

老师给我们一个程序让我们测试:functionx=Gauss(A,b)m=size(A,1);n=size(A,2);mb=size(b,1);nb=size(b,2);... 老师给我们一个程序让我们测试:
function x=Gauss(A,b)
m=size(A,1);
n=size(A,2);
mb=size(b,1);
nb=size(b,2);
if m>n
printf('该矩阵所对应的方程组无解')
elseif m<n
printf('该矩阵所对应的方程组有无穷多解')
else
if m==mb
for k=1:n-1
if A(k,k)==0
printf('主元素为零'),
break;
else
for i=(k+1):n
A(i,k)=A(i,k)/A(k,k);
for j=(k+1):n
A(i,j)=A(i,j)-A(i,k)*A(k,j);
end
end
end
end
end
end
for k=1:(n-1)
for i=(k+1):n
for j=1:nb
b(i,j)=b(i,j)-b(k,j)*A(i,k);
end
end
end
if A(n,n)==0
printf('该矩阵为奇异矩阵,无法进行回代过程');
else for j=1:nb
b(m,j)=b(m,j)/A(n,n);
end
for i=1:(n-1)
i=n-i;
for j=1:nb
for j1=(i+1):n
b(i,j)=b(i,j)-A(i,j1)*b(j1,j);
end
b(i,j)=b(i,j)/A(i,i);
end
end
end
x=b;
end
这个程序使用时出现Undefined function 'Guass' for input arguments of type 'double'.怎么解决!
展开
 我来答
紫冰雨的季节
2015-11-15 · TA获得超过7.8万个赞
知道大有可为答主
回答量:1.4万
采纳率:91%
帮助的人:1524万
展开全部
用matlab实现高斯列主元消去法解线性方程及LU分解

function x=gaussLinearEquation(A,b)

%高斯法解线性方程Ax=b

disp('原方程为AX=b:')

A

b

disp('------------------------')

n=length(b);

eps=10^-2;

for k=1:n-1

%找列主元

[mainElement,index]=max(abs(A(k:n,k)));

index=index+k-1;%index在A(k:n,k)中的行号转换为在A中的行号

if abs(mainElement)<eps

disp('列元素太小!!');

break;

elseif index>k

%列主元所在行不是当前行,将当前行与列主元所在行交换

temp=A(k,:);

A(k,:)=A(index,:);

A(index,:)=temp;

end

%消元

for i=k+1:n

m(i,k)=A(i,k)/A(k,k);%A(k,k)将A(i,k)消为0所乘系数

A(i,k:n)=A(i,k:n)-m(i,k)*A(k,k:n);%第i行消元处理

b(i)=b(i)-m(i,k)*b(k);%还有b也需要处理!!

end

end

disp('消元后所得到的上三角阵是')

A

%回代

b(n)=b(n)/A(n,n);

for i=n-1:-1:1

%sum(A(i,i+1:n).*b(i+1:n)')表示已知

b(i)=(b(i)-sum(A(i,i+1:n).*b(i+1:n)'))/A(i,i);

end

clear x;

x=b;

disp('AX=b的解x是')

x

用法:

在控制台输入:

A=[1.003 0.333 1.504 -0.333;

-2.011 1.455 0.506 2.956;

4.329 -1.952 0.006 2.087;

5.113 -4.004 3.332 -1.112];

b=[ 3.005,5.407,0.136,3.772 ]';

执行gaussLinearEquation(A,b);即可得到结果。
富港检测东莞有限公司
2024-12-25 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);做正弦振动找富港,富港工业检测技术有限公司是一家专业的第三方检测机构,拥有完善的质量管理体系,先进的检测设备,优秀的技术人才;已取得CNAS、CMA、IS... 点击进入详情页
本回答由富港检测东莞有限公司提供
我行我素850915
2014-11-01 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1760万
展开全部
程序没啥问题,如:A=magic(5);
b=[1:5]';
x=Gauss(A,b)
x =
0.0128
0.0128
0.1795
0.0128
0.0128
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科精选
高粉答主

2020-12-31 · 每个回答都超有意思的
知道答主
回答量:60.8万
采纳率:14%
帮助的人:3.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式