当前位置:首页>开发>正文

matlab怎么给矩阵里面的多个符号变量赋值 matlab 定义的变量 赋初值

2023-04-27 10:56:41 互联网 未知 开发

 matlab怎么给矩阵里面的多个符号变量赋值 matlab 定义的变量 赋初值

matlab怎么给矩阵里面的多个符号变量赋值

用subs(W)把符号表达式里面的来符号量用当前工作区中的同名变量替换,也就是你所要的赋值了。

其实任自何矩阵的元素都可以直接作百为变量来使用。能否作为变量的唯一判断标准就是它是否能够放在赋值符号(=)的左边。度

matlab 定义的变量 赋初值

呵呵 这是一个很基础的问题,
;分号的就是不显示该句话的内容。

1.你可以这样
>>syms x1 x2
>>f=x1^2 4*x2^>>x1=>>x2=2 这样肯定就有显示了

2.你也可以用命令:disp()显示你想显示的变量
如:disp(f)
在你运行了上述程序侯就会显示
f =

x1^2 4*x2^
还有你要计算f的话你把x1 x2的赋值写在表达式f=x1^2 4*x2^2的前面就可以了

》syms x1 x2
》x1=2
》x2=2
》f=x1^2 4*x2^2

关于matlab变量赋值的问题

你那么写,t1到t7是7个不同名字的变量,不能用你那种t加上数字的方法来识别变量名,
这跟变量在电脑中的存储形式有关,几乎没有哪种语言是这么干的。

通常的解决办法都是用数组。

而在matlab里,矩阵就是数组,不过由于字符串本身也是个字符组成的行向量(单行的矩阵),
所以如果多个字符串的话,也就是每行一个字符串,必须要求每行长度相同。
也就是说,如果你上面的字符串长度都相等,那你可以用
t(1,:)=......
t(2,:)=......
......
引用的时候用
t(a,:)就可以了。

不过通常多个字符串长度不等,那就会出错。
当然也可以用空格补齐,不过那样就改变字符串本身了。
所以通常用cell类型来解决,其实很简单,就是下标用{}而不是()括起来。

clear
t{1}=is 0 1 2.5
t{2}=r1 1 0 2
t{3}=e 1 2 1 0 0.5
t{4}=r4 1 3 3
t{5}=g 3 2 1 0 1
t{6}=r2 2 0 0.4
t{7}=r3 3 0 1
for a=1:n=t{a} %我不明白这里你要干什么,get是获得对象的属性,参数应该是个句柄,所以应该不是你想的获取变量内容。不过你每次循环对n赋值,最后结果只是最后一次循环的,前面都覆盖了,也就是n最后等于t{7},这是要干什么啊?
end

matlab怎么定义一个数组,并用for语句来赋值啊

楼上的回答是可以的,但是我建议在一开始就定义数组大小,这样可以减少内存的使用,同时加快计算速度,特别是数组较大的情况下,比如
A=ones(n,1);
for ii=1:n
...
...
end
另外,在matlab里不推荐使用i,j作为循环变量,因为他们本身也是虚数单位。在有些情况下可能会造成混乱。

最新文章

随便看看