【问题标题】:Operation on specific part of a vector in MATLAB在 MATLAB 中对向量的特定部分进行操作
【发布时间】:2014-07-15 09:30:04
【问题描述】:

我是 MATLAB 新手,我有一个问题,我认为应该有一个简单的解决方案。但是,我现在卡住了。

我的程序生成一个向量作为结果,其中包含正值和负值。 我希望找到一个解决方案,我可以只将向量的正值分配给新向量,并将负值替换为 0。当然向量的大小应该相同。

向量大小为1*345600

Pbat(t) ......(有负数和正数)

Pbat1(t) ......(应该与 Pbat(t) 大小相同,同时将负值更改为 0)

提前致谢, 哈米德

【问题讨论】:

    标签: matlab vector


    【解决方案1】:

    简单,使用逻辑索引...

    initial_vector = rand(1,345600);
    new_vector = initial_vector;
    new_vector(initial_vector<0)=0;
    

    【讨论】:

    【解决方案2】:

    只需使用max(..., 0):

    initial_vector = randn(1,345600); %// example data 
    new_vector = max(initial_vector, 0); %// set negative values to 0
    

    【讨论】:

    • 非常感谢亲爱的 Luis 对不起,我没有足够的声望来投票给你。
    • @Hamed 没问题! :-)
    猜你喜欢
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多