ntjm.net
当前位置:首页 >> mAtlAB矩阵元素赋值 >>

mAtlAB矩阵元素赋值

在matlab中,可通过如下方式给矩阵赋值:a = zeros(3,4); % 初始化一个3*4的矩阵>>a = 0 0 0 00 0 0 00 0 0 0a(1,2) = 5; % 将矩阵a的第1行第2列个元素赋值为5>>a = 0 5 0 00 0 0 00 0 0 0a(2) = 6; % 将矩阵a的第2个元素(按列开始计算)赋值为6>>a = 0 5 0 06 0 0 00 0 0 0a(3,:) = [1 2 3 4]; % 将矩阵a的第3行赋值为[1 2 3 4]>>a = 0 5 0 06 0 0 01 2 3 4

大部分的 matlab 函数是向量化的,那么只需:x = 0:0.01:0.83; M = f(x);如果不行的话,那就只能:M = arrayfun(@f, x);arrayfun 按 x 的值一个一个的调用 f(x),相当于 M(i) = f(x(i)).这要比第一种方法慢很多倍,所以任何时候都应该首选第一种方法尝试.

matlab怎么以矩阵为新矩阵的元素赋值>> B=A; % A是你给定的80*8列的矩阵,B是处理后的矩阵>> B(A>0.15)=1; % 如果大于0.15就赋值为1>> B(A> B(:,1)=A(:,1) % 第一列不变

先把矩阵中的那个元素找到 ,如I(i,j)=a,a就是你想赋的值如果你想给整个矩阵都随机赋值 就是 rand(I)

问题的思路是首先生成所有访问data时的二元下标组合,然后用sub2ind转换成一元索引,然后就可以向量化赋值.[m, n] = size(b);sub_i = repmat((1:n), [m 1]); % 构造下标i的序列ind = sub2ind(size(data), b(:), sub_i(:));c = data(ind);

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

举个例子,比如一个10*10的矩阵,从第三行第二列到第9行第8列的一块数据赋某个值:>> a=rand(10,10);>> a(3:9,2:8)=10

方法一: a(1,1)=1; a(1,2)=2; a(1,3)=3; a(2,1)=4; 其余同理. 方法二: 先定义temp=[1 2 3 4 5 6 7 8 9] 只要元素个数相同,可以相互赋值.矩阵的变维. a=temp;

x = diag(v,k)以向量v的元素作为矩阵x的第k条对角线元素,当k=0时,v为x的主对角线;当k>0时,v为上方第k条对角线;当k> v=[1 2 3];>> x=diag(v,-1)x = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0下面不知是否是你想要的:>> clear>> v(1)=1;>> n=5;%可以安自己需求>> v(2:n)=2;>> x=diag(v,-1)x = 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0

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

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