利用matlab对矩阵的特定位置赋值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用matlab对矩阵的特定位置赋值?相关的知识,希望对你有一定的参考价值。

比如说,我想把A1矩阵的第一行第一列的值赋给B矩阵的第一行第一列,再把A2矩阵的第一行第一列的值赋给B矩阵的第一行第二列,这样的循环命令怎么写?急求,谢谢~
我需要循环的命令,因为分别要将A1到A15的第一行第一列元素赋值到B矩阵的第一行的1到15列,所以,最好是循环的命令,方便运行,谢谢~~

参考技术A 将某些元素从矩阵中删除,采用将其置为空矩阵即可。如A=[1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 1617 18];A=(:,[2 4])=[]第二条命令将删除A的第2列和第4列元素。 参考技术B >> A =修复(10 *兰特(1,10)+5);%随机生成一个1X10矢量
>> A(1:2:10)= 0;%令奇位是0
>> A(查找(A == 0))= [];%找到一个位置0,并使其空,即删除

matlab 二维矩阵for循环逐行赋值

刚开始用matlab编程,请教大神们两个问题
1 二维矩阵如何赋值呢?方便的话请示例,我创建零矩阵利用for循环赋值后,总是只能赋第一行的值,其他为零 = = 要不就是所有的值逐行能赋值进去,但是到后面使用这个赋值后的矩阵之后,就又变成零矩阵的值了。
2 另外for循环里面,可否出现a=a+5或者a=+5这样进行迭代的式子?我这样做之后a的累加还是不成功。
谢谢各位!感激不尽

1、首先在电脑上打开matlab,如下图所示。

2、可以通过zeros函数进行赋值,输入a=zeros(2,3),生成了一个全0矩阵,如下图所示。

3、可以直接使用a(1,3)=5方式进行矩阵赋值,a矩阵第1行第3列赋值成5了,如下图所示。

4、使用 a(3)=8方式进行赋值,矩阵第3个元素赋值为8,从列开始往下数,如下图所示。

5、使用a(1,:)=[1 1 1]方式对矩阵一行进行赋值。

6、最后通过[m,n]=size(a);for i=1:m;for j=1:n;a(i,j)=5endend可以对矩阵每一个元素进行赋值,如下图所示。

参考技术A

1、双击工作区的需要更改的矩阵。

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

3、也可以通过语句来实现对矩阵单个元素的赋值操作。我们可以通过下面的语句:a(1,2)=100。

4、输入a(5,6)=100,来看看结果。

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

参考技术B

    MATLAB二维矩阵赋值和C语言相仿,除了以下几点差别:

      下标从1开始而不是0;

      索引使用(i,j)而不是[i][j];

      可以一个语句对多个元素(包括整个矩阵)同时赋值。

    你说的只能给第一行赋值肯定是谢的代码有错,以下是一个简单的例子: 

        A=zeros(5,4);for r=1:5, for c=1:4,A(r,c)=r*10+c;end, end

    你可以对照一下,看问题出在哪里。

     

    for循环可以有a=a+5这样的语句,但不能有a+=5,因+=不是MATLAB的操作符。但是要注意,MATLAB 的for循环是基于索引的,这意味着,假如你的循环是for a=...的表达式,你不可能像C语言里那样通过再循环体内部修改a的值去改变循环的次数。

       

本回答被提问者采纳

以上是关于利用matlab对矩阵的特定位置赋值?的主要内容,如果未能解决你的问题,请参考以下文章

matlab中如何给一个矩阵中的某几个特定位置赋值

matlab怎样给第一个矩阵1号位置赋值,第二个矩阵2号位置赋值?

Matlab提取excel表格特定地方数据

利用matlab对二维矩阵进行计算分析

Matlab矩阵加入新元素

matlab 二维矩阵for循环逐行赋值