永发信息网

这个矩阵怎么在Matlab中输?求解

答案:2  悬赏:40  手机版
解决时间 2021-12-02 11:39
  • 提问者网友:流星是天使的眼泪
  • 2021-12-02 04:33
这个矩阵怎么在Matlab中输?求解
最佳答案
  • 五星知识达人网友:行路难
  • 2021-12-02 05:06
A = diag(1:n-1, 1);
A(n,1) = n;追问也不行超出了程序允许的最大变量值追答看起来你的n值是inf,先检查下你的变量是否正确。追问n值等同于inf,所以说这个矩阵应当在matlab上敲不出吗?有没有什么东西能代替“···”?追答等同于inf???我想你表达的意思应该是n是个变量,不固定。
创建文件ff.m:
function A = ff(n)
    A = diag(1:n-1, 1);
    A(n,1) = n;
end调用的时候:
A = ff(2)就可以生成n=2的矩阵。

追问如果这个矩阵能敲出,也会像题目那样显示吗?追答题目那样显示???
你难道只是为了打个样子吗?为什么不用Latex之类的打公式。追问额……其实我是想算它的行列式值,但是又不知道怎么输这个矩阵,所以……,Latex还没学诶追答比如算n=10时的行列式值:
n = 10;
A = diag(1:n-1, 1);
A(n,1) = n;
det(A)追问问题是n没有值,但那个行列式可以用定义求:即用左下角“n”乘以它的代数余子式,也就是n*1*2*3*…(n-1),我想在matlab上求它追答现在问题清晰了。也许你应该一开始就这么在问题里表述。
MATLAB里还无法实现这种符号运算。追问嗯,是我没说清楚,谢谢你的耐心回答
全部回答
  • 1楼网友:忘川信使
  • 2021-12-02 06:33
A=zeros(n);
for i=1:n
A(i,i+1)=i+1;
end
A(n,1)=1;

这样就可以了。追答有一个地方打错了,更正一下

A=zeros(n);
for i=1:n-1
A(i,i+1)=i+1;
end
A(n,1)=1;

这样就可以了。有一个地方打错了,更正一下

A=zeros(n);
for i=1:n-1
A(i,i+1)=i;
end
A(n,1)=n;

这样就可以了。追问不允许使用zeros(n)啊

有什么方式能单独打出 ··· ,让程序能识别吗?追答你想多了,

matlab还没有那么智能,
程序前面得输入n的值啊!
这样,就不会报错了追问哦,那岂不是带n(没赋值)的矩阵都没法在matlab上面显示?搞清楚了,谢谢你的回答追答那个错误的答案你也采纳,
真是无语你把它的代码拿去试试,
能够求出你要的行列式我才信你们的邪
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯