matlab用sym定义矩阵

来自:    更新日期:早些时候
在matlab里面建立带有sym的目标函数矩阵~

u = randn(3,3,5);v = randn(3,1,5);syms x1 x2 x3;x = [x1;x2;x3];sz = size(u);h = sz(1);%g=zeros(5,1);g = sym(zeros(5,1));for i = 1:5 for j = 1:h g(i) = g(i)+0.5*(u(j,:,i)*x-v(j,1,i))^2; endend

A=magic(5)
sym(A)

1 6 5 2];
min=min(A);
max=max(A);
%m为所在行 n为所在列
[m1,n1]=find(A==min);
[m2,n2]=find(A==max);

=====================================
附赠:
在MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sym,或者是用到符号定义函数syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。
1.用命令sym定义矩阵:
这时的函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引号中。如下例:
例1-3
>> sym_matrix = sym('[a b c;Jack,Help Me!,NO WAY!],')
sym_matrix =
[a b c]
[Jack Help Me! NO WAY!]
>> sym_digits = sym('[1 2 3;a b c;sin(x)cos(y)tan(z)]')
sym_digits =
[1 2 3]
[a b c]
[sin(x)cos(y)tan(z)]
2.用命令syms定义矩阵
先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。
例1-4
>> syms a b c ;
>> M1 = sym('Classical');
>> M2 = sym(' Jazz');
>> M3 = sym('Blues')
>> syms_matrix = [a b c; M1, M2, M3;int2str([2 3 5])]
syms_matrix =
[ a b c]
[Classical Jazz Blues]
[ 2 3 5]
把数值矩阵转化成相应的符号矩阵。
数值型和符号型在MATLAB中是不相同的,它们之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号型的命令,即sym。
例1-5
>> Digit_Matrix = [1/3 sqrt(2) 3.4234;exp(0.23) log(29) 23^(-11.23)]
>> Syms_Matrix = sym(Digit_Matrix)
结果是:
Digit_Matrix =
0.3333 1.4142 3.4234
1.2586 3.3673 0.0000
Syms_Matrix =
[ 1/3, sqrt(2), 17117/5000]
[5668230535726899*2^(-52),7582476122586655*2^(-51),5174709270083729*2^(-103)]
注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转化成符号矩阵后,都将以最接近原值的有理数形式表示或者是函数形式表示。

呵呵 你的命令里面多了一个逗号
>> sym_matrix=sym('[a b c;jack,help me!,no way!]')

sym_matrix =

[ a, b, c, 0, 0]
[ jack, help, factorial(me), no, factorial(way)]


matlab用sym定义矩阵视频

相关评论:
  • 17619205719matlab编辑范德蒙德行列式
    宓蚁欣生成这个符号矩阵的代码如下:定义符号变量a1-a5、b1-b5,并生成矩阵A、BA = sym( zeros(5, 6) );B = A;for i = 1 : 5 eval( sprintf('syms a%i b%i', i, i) ); A(i, :) = eval( sprintf('a%i', i) ) .^ (5:-1:0); B(i, :) = eval( sprintf('b%i...

  • 17619205719matlab中sym命令 定义矩阵中的元素为常量
    宓蚁欣A=magic(5)sym(A)

  • 17619205719在matlab中 a=sym('2'); a=sym(2); 区别在哪,意义分别是什么 A=sym...
    宓蚁欣a=sym('2');是将字符量‘2’转换成符号量并存贮在a中 a=sym(2); 是将数字量‘2’转换成符号量并存贮在a中 他们的区别是自变量的格式不同,但结果是一致的。A=sym(pascal(2));是生成一个2*2的pascal矩阵,并转化为符号量,并存贮在A中 pascal矩阵即帕斯卡矩阵,参见 http:\/\/baike....

  • 17619205719matlab中怎样定义未知数,如x,syms是什么意思?
    宓蚁欣首先,通过输入"helpsyms",我们可以查看syms的详细用法,例如定义符号变量"m"只需输入"symsm",这样我们就能在后续的表达式中使用它进行运算,如"n=m^2+3*m-2",并且可以轻松进行求导操作,如"diff(n,m)"。执行这些命令后,Matlab会返回求导结果。另一方面,xlabe函数主要用于设置坐标轴的标签,它...

  • 17619205719syms在matlab中的作用
    宓蚁欣syms在matlab中的作用是在符号表示法中,可以用此命令来定义变量。调用格式为:syms t,意思是定义一个变量 t。syms还可以用来定义多个变量。例如:syms a b c,其中 a, b, c 等表示想要用syms 命令定义的符号变量,多个变量间用空格相分隔,一次可以定义多个符号变量。

  • 17619205719matlab中syms怎么用?
    宓蚁欣在MATLAB中,syms函数有着特殊的作用,它用于定义符号变量。与直接使用sym函数将字符或数字转化为字符有所不同。例如,代码y=sym(’x')与y=x;虽然看似相似,但其实功能各异。syms x; 是实实在在地创建了一个符号变量x,而sym('x')则是将字符'x'转换为字符类型。在命令窗口中,你可以通过比较...

  • 17619205719Matlab如何定义符号变量
    宓蚁欣如下面的例子,未定义就会出错。符号变量定义方法例如: sym x 或者 syms x ,两者有区别也有共同点。其他变量的定义:计算过程当中的存储数值的变量 可以不必定义,随时需要,随时定义,但是有时候如果变量很多,那么最好提前声明,声明的时候,可以直接赋予0值,并且注释,这样方便以后区分,避免混淆。矩...

  • 17619205719matlab中syms怎么用?
    宓蚁欣,看一下syms的使用方法,如下图所示:第二步、在命令行窗口中输入“syms m”,定义符号变量m,如下图所示:第三步、输入“n=m^2+3*m-2”,可以拿符号变量m进行运算,如下图所示:第四步、输入diff(n,m),可以进行求导,如下图所示:第五步、按回车键,可以看到求导结果,如下图所示:...

  • 17619205719Matlab中sym的用法
    宓蚁欣sym是定义符号用的。如果定义变量x:方法一:sym(x)方法二:syms x;也可以定义表达式:syms a+b

  • 17619205719matlab里怎么定义变量,我用sym定义一组变量再用fmincon方法求解老报...
    宓蚁欣定义函数不要用syms。下面我举个例子:funtion y = fun(F)y = (F(1)+F(2))*F(3); %输入参数F是一个向量。

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网