请利用线性代数的必要知识,利用matlab程序设计的基本知识,编写一个计算方阵行列式的m函数(函数式m文件).要求:(1)对不是方阵的输入有错误提示;(提示:利用size、error、条件控制语句

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 23:43:22
请利用线性代数的必要知识,利用matlab程序设计的基本知识,编写一个计算方阵行列式的m函数(函数式m文件).要求:(1)对不是方阵的输入有错误提示;(提示:利用size、error、条件控制语句

请利用线性代数的必要知识,利用matlab程序设计的基本知识,编写一个计算方阵行列式的m函数(函数式m文件).要求:(1)对不是方阵的输入有错误提示;(提示:利用size、error、条件控制语句
请利用线性代数的必要知识,利用matlab程序设计的基本知识,编写一个计算方阵行列式的m函数(函数式m文件).
要求:(1)对不是方阵的输入有错误提示;(提示:利用size、error、条件控制语句)
(2)对任意(数值)方阵均能计算其行列式;
(3)请用rand产生若干个不同阶的方阵,用自己写的函数计算其行列式的值,并和matlab中det函数计算的值进行比较,看看结果是否一样,简单分析其原因?

请利用线性代数的必要知识,利用matlab程序设计的基本知识,编写一个计算方阵行列式的m函数(函数式m文件).要求:(1)对不是方阵的输入有错误提示;(提示:利用size、error、条件控制语句
function baiduwenti(a)
s=0
k=0
zi=size(a)
zj=zi(1)-zi(2)
if zj~=0
disp('error')
else
zi=zi(1)
for zj=1:zi
if zj==1
k=a(1,zj)*baiduwenti(a([2:zi],a[2:zi]))
elseif zj==zi
k=a(1,zj)*baiduwenti(a([2:zi],a[1:zi-1]))
else
k=a(1,zj)*baiduwenti(a([2:zi],a[1:zj-1,zj+1:zi))
endif
s=s+k
end
endif
没有调试过 希望你能参考一下