clwn.net
当前位置:首页 >> mAtlAB符号矩阵 >>

mAtlAB符号矩阵

syms a b c d kXX=[a,b,c,d];for i=1:1:4; for j=1:1:4; k(i,j)=XX(i)*XX(j); end end最后输出矩阵k为:k =[ a^2, a*b, a*c, a*d][ a*b, b^2, b*c, b*d][ a*c, b*c, c^2, c*d][ a*d, b*d, c*d, d^2]就是说,要先定义k为符号变量,否则就会出错.(因为XX(i)为符号,同类型变量才可以运算)

符号变量要用SYMS来声明,MATLAB中将其识别为一个常量,就像一个给了值的常数一样.因为MATLAB是不能识别符号的,声明以后系统就把符号变量当作一个常量对待.例如在S变换中,就要声明S为符号变量,不然,系统不能识别S.知道了符号变量的作用,矩阵的就不用我多说了吧.在一个参数取多个值时,可定义为符号变量,这样的最后求得的表达式中就只有这些变量,然后,只需把所取数值依次代入表达式中就可求得结果,可以大大减少计算量.

书上这么定义符号变量,会报错;符号变量名必须为简单的变量名称;变量名的命名规则:(1)变量名的第一个字符必须是英文字母(2)变量名不得包含空格、标点、运算符,但可以有下划线如:var_1_2 是合法的(3)不得与matlab关键字同名;你的问题在于: 变量名包含了 百分号你可以试试:A = sym('A',[2,2])

定义变量 syms a1 u然后直接输入就行了

通过先用syms 定义变量,然后输入符号矩阵.使用 inv() 函数可以求逆矩阵.MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和

syms可定义多个符号.sym定义一个符号.假如还要赋值,建议用函数吧.

就是不用求的量,举个例子 A=rand(2,3,4);[m,n,~] = size(A); m = 2,n =3;

符号变量要用syms来声明,matlab中将其识别为一个常量,就像一个给了值的常数一样.因为matlab是不能识别符号的,声明以后系统就把符号变量当作一个常量对待.例如在s变换中,就要声明s为符号变量,不然,系统不能识别s.知道了符号变量的作用,矩阵的就不用我多说了吧.在一个参数取多个值时,可定义为符号变量,这样的最后求得的表达式中就只有这些变量,然后,只需把所取数值依次代入表达式中就可求得结果,可以大大减少计算量.

因为A是数值型的,而你却将其一个元素赋值为字符型了,可以修改如下:syms a;A=[sym(0) 0;0 0];A(1,1)=a

sym是用来定义符号和字符的,如1/3本来等于0.333333但是在sym后就保留成为1/3,像楼上所说的那样,已经将普通矩阵转换成符号矩阵

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