MATLAB如何给矩阵按列赋值~

如题。

一、方法一

1、创建了一个矩阵,操作过程中有矩阵的话那么在工作区就会出现,可以双击工作区的需要更改的矩阵。

2、然后在弹出的表格中选中需要更改的单个矩阵元素,进行更改。

二、方法二

1、也可以通过语句来实现对矩阵单个元素的赋值操作。可以通过下面的语句:a(1,2)=100,可以看到矩阵的该位置元素数值已经更改了。

2、输入的行数和列数大于原来的矩阵,如输入a(5,6)=100:

3、可以看到矩阵会自动扩展成5行6列的一个新的矩阵,其余为赋值的区域会自动为0,也可以通过这个方法来对矩阵进行扩展。

三、对于如下矩阵A,

A = [1 1 0;

1 0 1;

0 1 1];

1、想找到其中为0的元素,然后让这些元素都赋值为3。

2、首先用find()函数,找到矩阵A中所有为0的元素的下标。

zero_index = find(A==0)

得到的zero_index如下图所示。

3、然后用所得到的下标zero_index对对应的元素进行操作。

A(zero_index) = ~A(zero_index).*3

先对所有对应的元素取反,然后再将所有的元素乘以3,赋值到A中原先的位置。

4、对矩阵中部分元素通过下标来操作,包含+,-,*,/,~(取反)等。下面是部分结果示例(均是对步骤1中的矩阵A进行的操作)。

(1)A(zero_index) = A(zero_index)+3;

(2)A(zero_index) = A(zero_index)-3;

(3)A(zero_index) = ~A(zero_index)*4;

(3)A(zero_index) = ~A(zero_index)/2;

(4)A(zero_index) = ~A(zero_index).^2;

5、为了实现某些情况的赋值,还可以将以上运算结合起来,对矩阵中的部分元素进行操作。以下面语句为例:

A(zero_index) = (A(zero_index)+3).^2;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-13

举个例子,比如一个10*10的矩阵,从第三行第二列到第9行第8列的一块数据赋某个值:

>> a=rand(10,10);

>> a(3:9,2:8)=10

第2个回答  2009-11-21
A(:,i)=[x x x x x ... x];
x代表要赋的值本回答被提问者采纳
第3个回答  2009-11-20
matlab中是列优先赋值的
第4个回答  2015-07-13

举个例子,比如一个10*10的矩阵,从第三行第二列到第9行第8列的一块数据赋某个值:

>> a=rand(10,10);

>> a(3:9,2:8)=10

第5个回答  2009-11-21
A(:,i)=[x x x x x ... x];
x代表要赋的值本回答被提问者采纳
第6个回答  2009-11-20
matlab中是列优先赋值的
相似回答