tnjk.net
当前位置:首页 >> mAtlAB中如何给一个矩阵中的某几个特定位置赋值 >>

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

用sub2ind >> a=zeros(5); i = [2;3;4]; j = [1;4;2]; >> a(sub2ind(size(a), i, j))=1 a = 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 hokvens: 这个正是matlab的精髓,matlab里面很多东西都不需要循环来完成,速度快而且语句简单

>> A =修复(10 *兰特(1,10)+5);%随机生成一个1X10矢量 >> A(1:2:10)= 0;%令奇位是0 >> A(查找(A == 0))= [];%找到一个位置0,并使其空,即删除

A=ones(100,100); B=A(:,1:2:99)

[i,j]=find(A==1) 返回所寻找的元素的行标 i 和列表 j

矩阵本身也可以看成一维向量(因为实际存贮的时候不论多少维的稠密张量都是按一维来存的), 所以可以直接用诸如 A(index)=0 B(index)=1 B(A~=1)=2 这样的操作 如果你一定想把index搞成矩阵的形式, 那么把find去掉, 直接用index=(A~=1)

首先确定矩阵的行数和列数 用rand函数生成随机数,与行数相乘取整得m;再次生成随机数,与列数相乘取整得n 对m行n列赋值,如果要求所赋的值也是随机的,那就用rand生成 如此循环,如果取的元素个数要求随机,那么就用rand生成一个数与矩阵总数相...

find这个函数是寻找某个矩阵,例如A,其中满足某个条件的元素的位置。你用find(max(R))时,先计算max(R),这时仅为一个数,无判别条件,当非零时显示1,为零时,是空.你要用find找最小值在数组中的位置:find(R==min(R)) 所以2的位置find(A==2) 5...

以矩阵A为例。 在matlab中,A(i, j)表示的是矩阵A中第i行第j列的元素; A(:, j) 表示矩阵A中第j列的所有元素; A(i, :) 表示矩阵A中第i行的所有元素。 单单取出某一行,比如A(i, :) ,就是一个行向量,要改变该行向量的元素,即用另一个行向量b...

通过A函数实现,比如: 提取40-82行,列数是1-85 。 x=A(40:82,1:85)。 data函数说明: 提取1-10000行,第1列全部 x=data(1:10000,1)。

如你所问,a是个矩阵,b就是个结构矩阵,结构矩阵的元素用{}来表示和赋值就可以了。 例如 a=[1,2;3,4] >> a = 1 2 3 4 >> b{2,2}=a b = [] [] [] [2x2 double]

网站首页 | 网站地图
All rights reserved Powered by www.tnjk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com