ntjm.net
当前位置:首页 >> 请问MATLAB利用句柄函数求令行列式为0参数值,该程序错在哪里 >>

请问MATLAB利用句柄函数求令行列式为0参数值,该程序错在哪里

问题是函数句柄不能作为det函数的输入变量,你可以这样写 A=[1,3;2,4]; B=[5,6;7,8]; fx=@(x)det(x^2.*A+B); >> u=solve(fx) u = -2^(1/2)*1i 2^(1/2)*1i -(2^(1/2)*1i)/2 (2^(1/2)*1i)/2 这样就可以啦

你算行列式的时候没有给M降阶,你只是把M的第1行和第k列变成0,但M还是R阶矩阵,这样你递归的时候永远不会达到R==2的情况.你应该用M=A(2:R,[1:k-1,k+1:R])之类的.话说det求行列式不就行了,怎么还要自己写?

是0啊,没问题啊,是不是你MATLAB设置有问题?

syms x a=[5-x^2 8 0 0; 2 3-5*x^2 2 9; 8 0 7-12*x^2 8;2 6 8 9-7*x^2]; f=det(a); ezplot(f,[-3 3]); 判断零点值的范围 fun=inline(f,'x'); fzero(fun,[-4,-2]),fzero(fun,[2,4]); ans = -2.4470 ans = 2.4470

>>syms P A B >>S =[P, 0, 1200000000000, 0, 0, 0;0, P, 0, 2000000000000, 0, 0; B, 0, 12*P, 0, 36000000000000, 0; A, B, 0, 20*P, 0, 84000000000000; 1, 3, 6, 10, 15,21; 0, 1, 4, 10, 20, 35];>> X=det(S); >> Y=solve(X,'P') Y =

最后一句只用 solve(det(B))就可以了.答案很复杂哟.

可以用solve求:>> syms x>> y=(x-2)^4*(x-3)^2;>> solve(y)ans = 3 3 2 2 2 2但对于一般的多项式很可能求不出来.

>> syms a b c d e f g h i >> A=[a b c;d e f ;g h i] A = [ a, b, c] [ d, e, f] [ g, h, i] >> det(A) ans = a*e*i - a*f*h - b*d*i + b*f*g + c*d*h - c*e*g

你的函数里应该用点乘,点除x=(p(1)*exp(p(2)*t))./(1-(p(1)/0.1207)*(1-exp(p(2)*t));

工具:正常电脑 matlab软件 方法/步骤:1、矩阵行列式的数学定义 行列式的定义是通过方程组的求解引入的,也可以说是行列式是由求解线性方程组产生的一种算式把!下面就介绍一下行列式的数学表示法.以三阶行列式为例.2、matlab求行

网站首页 | 网站地图
All rights reserved Powered by www.ntjm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com