早教吧 育儿知识 作业答案 考试题库 百科 知识分享

matlab 矩阵矩阵元素替换有一行矩阵w=[1,0,1,1...,0],里面有n个1元素,其他元素全为0.同时还有行矩阵p=[5,6,2...7],元素个数为n,就是w里面1的个数.现在想把w矩阵里元素为1的位置替换成p矩阵的元素,p

题目详情
matlab 矩阵矩阵元素替换
有一行矩阵w=[1,0,1,1...,0],里面有n个1元素,其他元素全为0.同时还有行矩阵p=[5,6,2...7],元素个数为n,就是w里面1的个数.现在想把w矩阵里元素为1的位置替换成p矩阵的元素,p的第一列替换第一个1,第二列元素替换第二个1,以此类推.
▼优质解答
答案和解析
首先编写m函数如下:
function out = replace(w,p)
temp_h=length(w);
l=1;
for k=1:temp_h
    if w(k)==1
        out(k)=p(l);
        l=l+1;
    else
        w(k)=0;
    end
end
end
然后将该m函数放到matlab工作目录下,或改变matlab工作目录到该函数的目录.
在命令空间输入如下命令:
>> m=[0,1,1,0,1];
>> p=[3,5,9];
>> a=replace(m,p)

a =

     0     3     5     0     9
看到了吧,a就是m矩阵中将1对应的用p的元素替换后的矩阵.
看了 matlab 矩阵矩阵元素替...的网友还看了以下: