matlab中定义带变量的求33矩阵对角线之和 像这样的A1 = [1.33 0.42x1; 0.53x1 -1.33];

matlab 符号变量 能不能定义成矩阵形式?我要定义K个符号变量for i=1:100 syms (['x',num2str(i)]);end这样能定义x1 x2...x100,但是我在后面用的时候怎么循环,x(i)也不能用啊,所以我想将这100个变量存储在一个矩阵A中,让A(1)=x1...A(100)=x100,这样后面就可以做循环A(i)了,但是怎么实现让A(i)=?,这里填x(i)肯定不行,填xi更不行..
>> for i=1:100A(i)=sym(['x' num2str(i)]);end
为您推荐:
其他类似问题
扫描下载二维码关于matlab中定义多个矩阵_百度知道
关于matlab中定义多个矩阵
.如此循环我想能随时调用x1~~x1000 该怎么编写程序,当我运行程序后.,x4=x2 ,0 .,2 ; 2.?也就是说矩阵x1=[0,1] x2=[1,0]x3=x1 ...; 0
我有更好的答案
2,0],1];2;&gt推荐用一个数组来实现&& x{2}=[1;& clear& x{1}=[0;&end调用矩阵里面单个数的时候可以用类似x{1}(1,0;0:1000x{i}=x{i-2};& for i=3;&gt
其他类似问题
10人觉得有用
为您推荐:
您可能关注的推广
matlab的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁34281人阅读
1.1.1& 数值矩阵的生成1.实数值矩阵输入MATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如:&&& Time = [11& 12& 1& 2& 3& 4& 5& 6& 7& 8& 9& 10]Time =11& 12& 1& 2& 3& 4& 5& 6& 7& 8& 9& 10&& X_Data = [2.32& 3.43;4.37& 5.98]X_Data =2.43& 3.434.37& 5.98&& vect_a = [1& 2& 3& 4& 5]vect_a =1& 2& 3& 4& 5&& Matrix_B = [1& 2& 3;&&&&&&&&&&& 2& 3& 4;3& 4& 5]Matrix_B = 1& 2& 32& 3& 43& 4& 5&& Null_M = [ ]&&&&&&&&&& %生成一个空矩阵&2.复数矩阵输入复数矩阵有两种生成方式:第一种方式例1-1&& a="2".7;b=13/25;&& C=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1]C=&& 1.0000&&&&&&&&&&&& 5.4000 + 0.5200i&& 0.8544&&&&&&&&& && 0.7071&&&&&&&&&&&& 5.3000&&&&&&&&&&&& 4.5000&&&&&&&&& 第2种方式例1-2&& R=[1 2 3;4 5 6], M=[11 12 13;14 15 16]R =& 1&&&& 2&&&& 3& 4&&&& 5&&&& 6M =& 11&&& 12&&& 13& 14&&& 15&&& 16&& CN="R"+i*MCN =&& 1.0i&& 2.0i&& 3.0i&& 4.0i&& 5.0i&& 6.0i1.1.2& 符号矩阵的生成在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.42341.2586&&& 3.3673&&& 0.0000Syms_Matrix =[&&&&&&&&&&& 1/3,&&&&&&&&&&&&&&&&&& sqrt(2),&&&&&&&&&&&&&&& ][6899*2^(-52),6655*2^(-51),3729*2^(-103)]注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转化成符号矩阵后,都将以最接近原值的有理数形式表示或者是函数形式表示。1.1.3& 大矩阵的生成对于大型矩阵,一般创建M文件,以便于修改:例1-6& 用M文件创建大矩阵,文件名为example.mexm=[ 456&&& 468&& 873&&& 2& 579&& 5521&&& 687&& 54&& 488&&& 8&& 1365&& 4567&& 88&&& 98&& 21&&& 5456&&& 68& &&& 5& 987 5488&& 10&&&& 9&&& 6&&& 33& 77]在MATLAB窗口输入:&&&&size(exm)&& %显示exm的大小ans=&&& 5& 6&&&&& %表示exm有5行6列。1.1.4& 多维数组的创建函数& cat格式& A="cat"(n,A1,A2,&,Am)说明& n="1和n"=2时分别构造[A1;A2]和[A1,A2],都是二维数组,而n=3时可以构造出三维数组。例1-7&& A1=[1,2,3;4,5,6;7,8,9];A2=A1';A3=A1-A2;&& A4=cat(3,A1,A2,A3)A4(:,:,1) =&&&& 1&&&& 2&&&& 3&&&& 4&&&& 5&&&& 6&&&& 7&&&& 8&&&& 9A4(:,:,2) =&&&& 1&&&& 4&&&& 7&&&& 2&&&& 5&&&& 8&&&& 3&&&& 6&&&& 9A4(:,:,3) =&&&& 0&&& -2&&& -4&&&& 2&&&& 0&&& -2&&&& 4&&&& 2&&&& 0或用另一种原始方式可以定义:例1-8&& A1=[1,2,3;4,5,6;7,8,9];A2=A1';A3=A1-A2;&& A5(:,:,1)=A1, A5(:,:,2)=A2, A5(:,:,3)=A3A5(:,:,1) =&&&& 1&&&& 2&&&& 3&&&& 4&&&& 5&&&& 6&&&& 7&&&& 8&&&& 9A5(:,:,2) =&&&& 1&&&& 4&&&& 7&&&& 2&&&& 5&&&& 8&&&& 3&&&& 6&&&& 9A5(:,:,3) =&&&& 0&&& -2&&& -4&&&& 2&&&& 0&&& -2&&&& 4&&&& 2&&&& 01.1.5& 特殊矩阵的生成命令& 全零阵函数& zeros格式& B = zeros(n)&&&&&&&&&&& %生成n&n全零阵B = zeros(m,n)&&&&&&&&& %生成m&n全零阵B = zeros([m n])&&&&&&& %生成m&n全零阵B = zeros(d1,d2,d3&)&&& %生成d1&d2&d3&&全零阵或数组B = zeros([d1 d2 d3&])&& %生成d1&d2&d3&&全零阵或数组B = zeros(size(A))&&&&&& %生成与矩阵A相同大小的全零阵命令& 单位阵函数& eye格式& Y& =& eye(n)&&&&&&&&& %生成n&n单位阵Y& =& eye(m,n)&&&&&&& %生成m&n单位阵Y& =& eye(size(A))&&&& %生成与矩阵A相同大小的单位阵命令& 全1阵函数& ones格式& Y = ones(n)&&&&&&&&&&&& %生成n&n全1阵Y = ones(m,n)&&&&&&&&&& %生成m&n全1阵Y = ones([m n])&&&&&&&&& %生成m&n全1阵Y = ones(d1,d2,d3&)&&&&& %生成d1&d2&d3&&全1阵或数组Y = ones([d1 d2 d3&])&&&& %生成d1&d2&d3&&全1阵或数组Y = ones(size(A))&&&&&&&& %生成与矩阵A相同大小的全1阵命令& 均匀分布随机矩阵函数& rand 格式& Y = rand(n)&&&&&&&&& %生成n&n随机矩阵,其元素在(0,1)内Y = rand(m,n)&&&&&&& %生成m&n随机矩阵Y = rand([m n])&&&&&& %生成m&n随机矩阵Y = rand(m,n,p,&)&&&& %生成m&n&p&&随机矩阵或数组Y = rand([m n p&])&&& %生成m&n&p&&随机矩阵或数组Y = rand(size(A))&&&&& %生成与矩阵A相同大小的随机矩阵rand&&&&&&&&&&&&&&&& %无变量输入时只产生一个随机数s = rand('state')&&&&&&&& %产生包括均匀发生器当前状态的35个元素的向量rand('state', s)&&&&&&&&&&&&&& %使状态重置为srand('state', 0)&&&&&&&&&&&&&& %重置发生器到初始状态rand('state', j)&&&&&&&&&&&&&&& %对整数j重置发生器到第j个状态rand('state', sum (100*clock))&& %每次重置到不同状态例1-9& 产生一个3&4随机矩阵&& R="rand"(3,4)R =& 0.9501&&& 0.4860&&& 0.4565&&& 0.4447& 0.2311&&& 0.8913&&& 0.0185&&& 0.6154& 0.6068&&& 0.7621&&& 0.8214&&& 0.7919例1-10& 产生一个在区间[10, 20]内均匀分布的4阶随机矩阵&& a="10";b=20;&& x="a"+(b-a)*rand(4)x =&& 19.2181&& 19.3547&& 10.5789&& 11.3889&& 17.3821&& 19.1690&& 13.5287&& 12.0277&& 11.7627&& 14.1027&& 18.1317&& 11.9872&& 14.0571&& 18.9365&& 10.0986&& 16.0379命令& 正态分布随机矩阵函数& randn格式& Y = randn(n)&&&&&&&&&& %生成n&n正态分布随机矩阵Y = randn(m,n)&&&&&&&& %生成m&n正态分布随机矩阵Y = randn([m n])&&&&&&& %生成m&n正态分布随机矩阵Y = randn(m,n,p,&)&&&& %生成m&n&p&&正态分布随机矩阵或数组Y = randn([m n p&])&&&& %生成m&n&p&&正态分布随机矩阵或数组Y = randn(size(A))&&&&& %生成与矩阵A相同大小的正态分布随机矩阵randn&&&&&&&&&&&&&&&& %无变量输入时只产生一个正态分布随机数s = randn('state')&&&&&&& %产生包括正态发生器当前状态的2个元素的向量s = randn('state', s)&&&&&& %重置状态为ss = randn('state', 0)&&&&& %重置发生器为初始状态s = randn('state', j)&&&&&& %对于整数j重置状态到第j状态s = randn('state', sum(100*clock))&&& %每次重置到不同状态例1-11& 产生均值为0.6,方差为0.1的4阶矩阵&& mu="0".6; sigma="0".1;&& x="mu"+sqrt(sigma)*randn(4)x =&&& 0.8311&&& 0.7799&&& 0.1335&&& 1.0565&&& 0.7827&&& 0.5192&&& 0.5260&&& 0.4890&&& 0.6127&&& 0.4806&&& 0.6375&&& 0.7971&&& 0.8141&&& 0.5064&&& 0.6996&&& 0.8527命令& 产生随机排列函数& randperm格式& p = randperm(n)&&&& %产生1~n之间整数的随机排列例1-12&& randperm(6)ans =&&&& 3&&&& 2&&&& 1&&&& 5&&&& 4&&&& 6命令& 产生线性等分向量函数& linspace格式& y = linspace(a,b)&&&& %在(a, b)上产生100个线性等分点y = linspace(a,b,n)&&& %在(a, b)上产生n个线性等分点命令& 产生对数等分向量函数& logspace格式& y = logspace(a,b)&&&& %在(&&&&&&& )之间产生50个对数等分向量y = logspace(a,b,n)y = logspace(a,pi)命令& 计算矩阵中元素个数n = numel(a)&&& %返回矩阵A的元素的个数命令& 产生以输入元素为对角线元素的矩阵函数& blkdiag格式& out = blkdiag(a,b,c,d,&)&& %产生以a,b,c,d,&为对角线元素的矩阵例1-13&& out = blkdiag(1,2,3,4)out =&&&& 1&&&& 0&&&& 0&&&& 0&&&& 0&&&& 2&&&& 0&&&& 0&&&& 0&&&& 0&&&& 3&&&& 0&&&& 0&&&& 0&&&& 0&&&& 4命令& 友矩阵函数& compan格式& A = compan(u)&&& %u为多项式系统向量,A为友矩阵,A的第1行元素为&&&&& -u (2:n)/u(1),其中u (2:n)为u的第2到第n个元素,A为特征值就是多项式的特征根。例1-14& 求多项式的友矩阵和根&& u=[1 0 -7 6];&& A="compan"(u)&&& %求多项式的友矩阵A =&& 0&&&& 7&&& -6&&&& 1&&&& 0&&&& 0&&&& 0&&&& 1&&&& 0&& eig(A)&&&& %A的特征值就是多项式的根ans =& -3.0000& 2.0000& 1.0000命令& hadamard矩阵函数& hadamard 格式& H = hadamard(n)&&&& %返回n阶hadamard矩阵例1-15&& h="hadamard"(4)h =&&&& 1&&&& 1&&&& 1&&&& 1&&&& 1&&& -1&&&& 1&&& -1&&&& 1&&&& 1&&& -1&&& -1&&&& 1&&& -1&&& -1&&&& 1命令& Hankel方阵函数& hankel格式& H = hankel(c)&&&& %第1列元素为c,反三角以下元素为0。H = hankel(c,r)&& %第1列元素为c,最后一行元素为r,如果c的最后一个元素与r的第一个元素不同,交叉位置元素取为c的最后一个元素。例1-16&& c="1:3",r=7:10c =&&&& 1&&&& 2&&&& 3r =&&&& 7&&&& 8&&&& 9&&& 10&& h="hankel"(c,r)h =&&&& 1&&&& 2&&&& 3&&&& 8&&&& 2&&&& 3&&&& 8&&&& 9&&&& 3&&&& 8&&&& 9&&& 10命令& Hilbert矩阵函数& hilb格式& H = hilb(n)&&&& %返回n阶Hilbert矩阵,其元素为H(i,j)=1/(i+j-1)。例1-17& 产生一个3阶Hilbert矩阵&& format rat&&&&& %以有理形式输出&& H="hilb"(3)H =&&&&& 1&&&&&&&&&& 1/2&&&&&&&&& 1/3&&&& &&&& 1/2&&&&&&&&& 1/3&&&&&&&&& 1/4&&&& &&&& 1/3&&&&&&&&& 1/4&&&&&&&&& 1/5&&&& 命令& 逆Hilbert矩阵函数& invhilb格式& H = invhilb(n)&&& %产生n阶逆Hilbert矩阵命令& Magic(魔方)矩阵函数& magic格式& M = magic(n)&&& %产生n 阶魔方矩阵例1-18 && M="magic"(3)M =&&&&& 8&&&&&&&&&&& 1&&&&&&&&&&& 6&&&&& &&&&& 3&&&&&&&&&&& 5&&&&&&&&&&& 7&&&&& &&&&& 4&&&&&&&&&&& 9&&&&&&&&&&& 2&&&&& 命令& Pascal矩阵函数& pascal格式& A = pascal(n)&&&&& %产生n阶Pascal矩阵,它是对称、正定矩阵,它的元素由Pascal三角组成,它的逆矩阵的所有元素都是整数。A = pascal(n,1)&&&& %返回由下三角的Cholesky系数组成的Pascal矩阵A = pascal(n,2)&&&& %返回Pascal(n,1)的转置和交换的形式例1-19&& A="pascal"(4)A =&&&&& 1&&&&&&&&&&& 1&&&&&&&&&&& 1&&&&&&&&&&& 1&&&&& &&&&& 1&&&&&&&&&&& 2&&&&&&&&&&& 3&&&&&&&&&&& 4&&&&& &&&&& 1&&&&&&&&&&& 3&&&&&&&&&&& 6&&&&&&&&&& 10&&&&& &&&&& 1&&&&&&&&&&& 4&&&&&&&&&& 10&&&&&&&&&& 20&&&&& && A="pascal"(3,1)A =&&&&& 1&&&&&&&&&&& 0&&&&&&&&&&& 0&&&&& &&&&& 1&&&&&&&&&& -1&&&&&&&&&&& 0&&&&& &&&&& 1&&&&&&&&&& -2&&&&&&&&&&& 1&&&&& && A="pascal"(3,2)A =&&&&& 1&&&&&&&&&&& 1&&&&&&&&&&& 1&&&&& &&&& -2&&&&&&&&&& -1&&&&&&&&&&& 0&&&&& &&&&& 1&&&&&&&&&&& 0&&&&&&&&&&& 0&&&&& 命令& 托普利兹矩阵函数& toeplitz格式& T = toeplitz(c,r)&&& %生成一个非对称的托普利兹矩阵,将c作为第1列,将r作为第1 行,其余元素与左上角相邻元素相等。T = toeplitz(r)&&&&& %用向量r生成一个对称的托普利兹矩阵例1-20&& c=[1 2 3 4 5];&& r=[1.5 2.5 3.5 4.5 5.5];&& T="toeplitz"(c,r)T =&&&&& 1&&&&&&&&&& 5/2&&&&&&&&& 7/2&&&&&&&&& 9/2&&&&&&&& 11/2&&&& &&&&& 2&&&&&&&&&&& 1&&&&&&&&&& 5/2&&&&&&&&& 7/2&&&&&&&&& 9/2&&&& &&&&& 3&&&&&&&&&&& 2&&&&&&&&&&& 1&&&&&&&&&& 5/2&&&&&&&&& 7/2&&&& &&&&& 4&&&&&&&&&&& 3&&&&&&&&&&& 2&&&&&&&&&&& 1&&&&&&&&&& 5/2&&&& &&&&& 5&&&&&&&&&&& 4&&&&&&&&&&& 3&&&&&&&&&&& 2&&&&&&&&&&& 1&&&&& 命令& Wilkinson特征值测试阵函数& wilkinson格式& W = wilkinson(n)&&& %返回n阶Wilkinson特征值测试阵例1-21&& W="wilkinson"(4)W =&&&& 3/2&&&&&&&&&& 1&&&&&&&&&&& 0&&&&&&&&&&& 0&&&&& &&&&& 1&&&&&&&&&& 1/2&&&&&&&&&& 1&&&&&&&&&&& 0&&&&& &&&&& 0&&&&&&&&&&& 1&&&&&&&&&& 1/2&&&&&&&&&& 1&&&&& &&&&& 0&&&&&&&&&&& 0&&&&&&&&&&& 1&&&&&&&&&& 3/2&&&& && W="wilkinson"(7)W =&&&&& 3&&&& 1&&&&& 0&&&&& 0&&&&&& 0&&&&&& 0&&&&&&&& 0&&& &&&&& 1&&&& 2&&&&& 1&&&&& 0&&&&&& 0&&&&&& 0&&&&&&&& 0&&& &&&&& 0&&&& 1&&&&& 1&&&&& 1&&&&&& 0&&&&&& 0&&&&&&&& 0&&& &&&&& 0&&&& 0&&&&& 1&&&&& 0&&&&&& 1&&&&&& 0&&&&&&&& 0&&& &&&&& 0&&&& 0&&&&& 0&&&&& 1&&&&&& 1&&&&&& 1&&&&&&&& 0&&& &&&&& 0&&&& 0&&&&& 0&&&&& 0&&&&&& 1&&&&&& 2&&&&&&&& 1&&& &&&&& 0&&&& 0&&&&& 0&&&&& 0&&&&&& 0&&&&&& 1&&&&&&&& 3&&&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:674091次
积分:7937
积分:7937
排名:第1601名
原创:137篇
转载:96篇
评论:173条
(7)(2)(3)(1)(2)(2)(5)(7)(6)(4)(1)(8)(20)(21)(2)(9)(13)(6)(24)(20)(42)(27)(1)matlab 变量名如何用for循环控制(此变量为矩阵中的指定列)举个例子:A=[2 3 4; 5 6 7];我想用for循环来输出A1=[2; 5],A2=[3; 6],A3=[4;7](for i=1:3 )不知道该用什么语句
eval(['A' int2str(i) '=A(:,i)']);
为您推荐:
其他类似问题
扫描下载二维码 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
MATLAB中的矩阵的输入
下载积分:30
内容提示:中的矩阵的输入——所有资料文档均为本人悉心收集,全部是文档..
文档格式:PDF|
浏览次数:460|
上传日期: 18:12:27|
文档星级:
该用户还上传了这些文档
MATLAB中的矩阵的输入
官方公共微信

我要回帖

更多关于 33矩阵对角线之和 的文章

 

随机推荐