gpt4 book ai didi

matlab - 基于matlab中条件的每个单元格操作

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:07 26 4
gpt4 key购买 nike

我不知道如果不迭代矩阵是否可行,但问题就在这里。对于任何给定的方阵说“M”,一个特定的值说“键”。

我想计算一个新矩阵(比如“NM”),这样,

if M(i,j) < key; compute NM(i,j) using formula 1,
if M(i,j) = key; compute NM(i,j) using formula 2, and
if M(i,j) > key; compute NM(i,j) using formula 3

操作的输出必须是新的与M维数相同的方阵。希望问题清楚。

提前致谢

最佳答案

听起来你想要一个纯矩阵解决方案,所以我会这样回答。 (您在标题中使用了 cell 这个词,这在 Matlab 中具有特定含义)

首先,您需要将矩阵 NM 定义为与 M 大小相同,只需使用一个来定义另一个即可。然后使用逻辑索引仅将值应用于您需要的矩阵元素。

NM=M;
NM( M < key) = formula1( NM(M < key) );
NM( M == key) = formula2( NM(M == key) );
NM( M >= key) = formula3( NM(M > key) );

这是一个说明性示例,它将单个公式 NM=M+1 应用于小于 0.5 的矩阵元素。

>> M=rand(3)

M =

0.0623 0.7783 0.0097
0.7011 0.2843 0.7337
0.1984 0.2123 0.9778

>> NM=M;
>> NM(M<.5)=M(M<.5)+1

NM =

1.0623 0.7783 1.0097
0.7011 1.2843 0.7337
1.1984 1.2123 0.9778

关于matlab - 基于matlab中条件的每个单元格操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com