求matlab高手指导,建立函数的问题高斯消去法函数function m=gauss(a,b)n=length(b);for k=1:n-1for i=k+1:n if a(i,k)>a(i,i)maxj=a(i,k); %选则列主元,放在maxj里a(i,k)=a(i,i); a(i,i)=maxj;end mult=a(i,k)/a(k,k); %求出消去系数f
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 21:07:47
求matlab高手指导,建立函数的问题高斯消去法函数function m=gauss(a,b)n=length(b);for k=1:n-1for i=k+1:n if a(i,k)>a(i,i)maxj=a(i,k); %选则列主元,放在maxj里a(i,k)=a(i,i); a(i,i)=maxj;end mult=a(i,k)/a(k,k); %求出消去系数f
求matlab高手指导,建立函数的问题
高斯消去法函数
function m=gauss(a,b)
n=length(b);
for k=1:n-1
for i=k+1:n
if a(i,k)>a(i,i)
maxj=a(i,k); %选则列主元,放在maxj里
a(i,k)=a(i,i);
a(i,i)=maxj;
end
mult=a(i,k)/a(k,k); %求出消去系数
for j=k+1:n
if abs(a(k,k))>1e-6
a(i,j)=a(i,j)-mult*a(k,j);
else
disp('fail'); %若是奇异矩阵,输出“fail”并退出程序
pause;
exit;
end
b(i)=b(i)-mult*b(k);
end
end
end
x(n)=b(n)/a(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*x(j);
end
x(i)=(b(i)-s)/a(i,i);
end
m=x;
在command window运行则里提示:function m=gauss(a,b)
|
Error:Function definitions are not permitted at the prompt or in scripts.
在M文件里运行则提示:Input argument "b" is undefined.
Error in ==> gauss at 3
n=length(b);
当晚解决的话,再追分15分..
求matlab高手指导,建立函数的问题高斯消去法函数function m=gauss(a,b)n=length(b);for k=1:n-1for i=k+1:n if a(i,k)>a(i,i)maxj=a(i,k); %选则列主元,放在maxj里a(i,k)=a(i,i); a(i,i)=maxj;end mult=a(i,k)/a(k,k); %求出消去系数f
function m=gauss(a,b)后面加上分号.