Matlab想设置某些元素为空元素进行计算
答案:1 悬赏:0 手机版
解决时间 2021-03-29 16:00
- 提问者网友:抽煙菂渘情少年
- 2021-03-29 04:14
Matlab想设置某些元素为空元素进行计算
最佳答案
- 五星知识达人网友:轻雾山林
- 2021-03-29 05:12
A = [-1000 -1000 8 ;6 3 1;9 6 -1000];
B = A;
B(B==-1000)=[];
avg = mean(B)
R = A+ones(3,3)avg =
5.5000
R =
-999 -999 9
7 4 2
10 7 -999追问但是我想要的是最终结果等于
[1 1 8;6 3 1; 9 6 1],也就是说-1000这个值不参与最后的求平均计算追答A = [-1000 -1000 8 ;6 3 1;9 6 -1000];
B = A;
B(B==-1000)=[];
avg = mean(B)
R = A;
R(R==-1000) = 1追问sorry,我的表述有误,
这里我想要的是所有的数位都求平均,也就是说最后结果应该是[1 1 4.5;3.5 2 1;5 3.5 1]
这个数值不是赋值出来的,而是在矩阵里面求平均(不改变矩阵的形态——也就是在B(B==-1000)=[]过程中仍然是矩阵形式)。
实际数据有几万个,所以如果按照这里这样做的话会导致矩阵形态改变然后结果完全不对了。
多谢。
B = A;
B(B==-1000)=[];
avg = mean(B)
R = A+ones(3,3)avg =
5.5000
R =
-999 -999 9
7 4 2
10 7 -999追问但是我想要的是最终结果等于
[1 1 8;6 3 1; 9 6 1],也就是说-1000这个值不参与最后的求平均计算追答A = [-1000 -1000 8 ;6 3 1;9 6 -1000];
B = A;
B(B==-1000)=[];
avg = mean(B)
R = A;
R(R==-1000) = 1追问sorry,我的表述有误,
这里我想要的是所有的数位都求平均,也就是说最后结果应该是[1 1 4.5;3.5 2 1;5 3.5 1]
这个数值不是赋值出来的,而是在矩阵里面求平均(不改变矩阵的形态——也就是在B(B==-1000)=[]过程中仍然是矩阵形式)。
实际数据有几万个,所以如果按照这里这样做的话会导致矩阵形态改变然后结果完全不对了。
多谢。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯