矩阵中元素是均是变量,如何在matlab中定义它,请高人指点!

如题所述

第1个回答  推荐于2017-11-25
可以考虑如下定义方式:
>> syms a b c d %%%%% 定义符号变量
>> A = [a b;c d] %%%%% 产生矩阵

A =

[ a, b]
[ c, d]

>> subs(A,{a,b,c,d},{1 2 3 4}) %%%%%%% 变量赋值

ans =

1 2
3 4

补充回答,也可以采用结构变量的方法,例如:
>> A = struct('x1',0,'x2',0,'x3',0,'x4',0); %%%%%% 定义结构变量A,并初始化
>> B = [A.x1 A.x2;A.x3 A.x4] %%%%%% 获取初始化矩阵

B =

0 0
0 0
>> A.x1 = 5; %%%%%% 变量赋值
>> A.x2 = 6;
>> A.x3 = 7;
>> A.x4 = 8;
>> B = [A.x1 A.x2;A.x3 A.x4] %%%%% 新矩阵

B =

5 6
7 8本回答被提问者采纳
第2个回答  2019-07-21
参考代码:
n = 5;
x = sym(zeros(n));
for i=1:n
for j=1:n
cmd = sprintf('sym(''x%i%i'')',i,j);
x(i,j) = eval(cmd);
end
end
x
运行结果:
x =
[ x11, x12, x13, x14, x15]
[ x21, x22, x23, x24, x25]
[ x31, x32, x33, x34, x35]
[ x41, x42, x43, x44, x45]
[ x51, x52, x53, x54, x55]
说明:
1、想要不同的维数,修改n即可。
2、为避免歧义,最好改一下符号的格式。例如,按照现在的写法,x111究竟是指x(11,1)还是x(1,11)?建议使用类似 x_i_j 这类符号,代码中相

矩阵中元素是均是变量,如何在matlab中定义它,请高人指点!
ans = 1 2 3 4 补充回答,也可以采用结构变量的方法,例如:>> A = struct('x1',0,'x2',0,'x3',0,'x4',0); %%%%%% 定义结构变量A,并初始化 >> B = [A.x1 A.x2;A.x3 A.x4] %%%%%% 获取初始化矩阵 B = 0 0 0 0 >> A.x1 = 5; %%%%%% 变...

matlab中如何定义变量矩阵?
_问题描述:即矩阵的每个元素都是一个变量,都可以当作变量来使用。答案1::其实任何矩阵的元素都可以直接作为变量来使用。能否作为变量的唯一判断标准就是它是否能够放在赋值符号(=)的左边。答案2::syms x1 y=x1;for i=2:5 syms(['x',num2str(i)]);y=[y,['x',num2str(i)]];end 可...

...个元素是变量,如何在matlab中定义它,请高人指点!
变量a,矩阵B 直接写B(X,Y)=a就行

Matlab Function输入为一个向量时,应该怎么在函数中引用向量中的元素呢...
输出为sys;然后定义输出的维数(比如输出为两个,可定义 sys = [0;0];)然后在最后输出时,可以将输出的实际变量赋给sys, 比如你这个可以定义为 sys = [x1;x2];我刚才测试过,完美运行。

matlab 字符串中含变量的实现 如何在字符串中设置变量?
for i=1:10;s=['handle.edit_',num2str(i)];set(s);end

...我的论文题目却是这个,哪个高人可以指点一下我该怎么写勒...
周期性势场中的电子可以有两种运动方式,一是在一个原子的势场中运动,二是 在整个晶体中运动。比如具有能量 E1 或 E2 的电子在可以在原子 1 的势场中运动,根据 量子力学的隧道效应,它还可以通过隧道效应越过势垒 V 到势阱 2,势阱 3,…,中运 动。换言之,周期性势场中,属于某个原子的电子既可以在该原子...

谁能帮帮我:下图用matlab怎么画啊?我看到的bar和hist都是y轴直接从0起...
首先用bar画最高位置的柱状图,设定好颜色 然后在同一幅图上用bar画最低位置的柱状图,设定颜色和背景颜色一样 这样后来的图把下面部分覆盖掉,就只剩下上边的矩形部分了 下面是简单的例子 a=[5 6 7];b=[2 3 4];bar(a,'FaceColor','r','EdgeColor','r');hold on;bar(b,'FaceColor','w...

在matlab里如何用for循环取出一个矩阵中的各个列向量
1、首先打开matlab软件主界面,在命令窗口输入矩阵A=[1,3,5;2,4,6;7,9,11],如图所示。2、然后在键盘中回车后,得到矩阵A如图所示。3、接着在命令窗口输入B=A(:),如图所示。4、最后在键盘中回车后,得到矩阵B,将矩阵A的所有元素堆叠起来,如图所示就完成了。

matlab中怎样创建一个对角矩阵
1、首先打开电脑上的“matlab”软件,在命令行窗口输入一个向量n,向量n有4个元素。接着使用diag函数生成对角矩阵。2、diag(n,k)可以把向量放在第k条对角线上,k为正值,表示右上。k为负值,则表示左下。在命令行输入diag(n,2),即可把向量放在右上的第二条对角线上。3、在命令行输入diag(n,-...

matlab中的min函数及find函数的问题,期待高人指点,有高分,问题如下:
不知道你的B矩阵是怎么得来的,浮点数的计算存在容许误差,在比较或者查找浮点数时要考虑容许误差。eps函数返回容许误差的值。可以试试把c1=find(B==minval)改成 c1=find(abs(B-minval)<=eps)如果这样还不行就不知道什么原因了

相似回答