MATLAB中求矩阵每一行中第一个小于某值的数及其位置
现在有提取电流值组成矩阵,每一行是一次电流的取点值。现在想找出每个电流曲线中第一个下降到3A以下的点在哪。每一行对应一个点,最后输出的应该是一个列向量矩阵。求了解的人能给...
现在有提取电流值组成矩阵,每一行是一次电流的取点值。现在想找出每个电流曲线中第一个下降到3A以下的点在哪。每一行对应一个点,最后输出的应该是一个列向量矩阵。
求了解的人能给与指导。 展开
求了解的人能给与指导。 展开
2个回答
展开全部
% % 是在矩阵的每行里找到第一个小于3的点吗?这样写:
data = 10*rand(5,10);
[r,c] = size(data);
result = [];
for i = 1:r
tmp = data(i,:);
tmp = tmp(data(i,:)<3);
if length(tmp)
result(i,:) = tmp(1); % 如果有许多小于3的数,只要第一个
else
result(i,:) = NaN; % 如果没有小于3的数,存NaN
end
end
result
data = 10*rand(5,10);
[r,c] = size(data);
result = [];
for i = 1:r
tmp = data(i,:);
tmp = tmp(data(i,:)<3);
if length(tmp)
result(i,:) = tmp(1); % 如果有许多小于3的数,只要第一个
else
result(i,:) = NaN; % 如果没有小于3的数,存NaN
end
end
result
追问
谢谢你,你的程序我基本明白了,但是怎样确定这一点所在的位置呢,也就是它对应的列数?
追答
% % 要把列号也存起来的话,稍微改一下就好了:
data = 10*rand(5,10);
[r,c] = size(data);
result = [];
result_c = [];
for i = 1:r
tmp = find(data(i,:)<3);
if length(tmp)
result_c(i,:) = tmp(1);
result(i,:) = data(i,tmp(1));
else
result_c(i,:) = NaN;
result(i,:) = NaN;
end
end
[result_c, result]
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
一、
data = 10*rand(5,10);
[r,c] = size(data);
result = [];
for i = 1:r
tmp = data(i,:);
tmp = tmp(data(i,:)<3);
if length(tmp)
result(i,:) = tmp(1); % 如果有许多小于3的数,只要第一个
else
result(i,:) = NaN; % 如果没有小于3的数,存NaN
end
end
result
二、% % 要把列号也存起来的话,稍微改一下就好了:
data = 10*rand(5,10);
[r,c] = size(data);
result = [];
result_c = [];
for i = 1:r
tmp = find(data(i,:)<3);
if length(tmp)
result_c(i,:) = tmp(1);
result(i,:) = data(i,tmp(1));
else
result_c(i,:) = NaN;
result(i,:) = NaN;
end
end
[result_c, result]
data = 10*rand(5,10);
[r,c] = size(data);
result = [];
for i = 1:r
tmp = data(i,:);
tmp = tmp(data(i,:)<3);
if length(tmp)
result(i,:) = tmp(1); % 如果有许多小于3的数,只要第一个
else
result(i,:) = NaN; % 如果没有小于3的数,存NaN
end
end
result
二、% % 要把列号也存起来的话,稍微改一下就好了:
data = 10*rand(5,10);
[r,c] = size(data);
result = [];
result_c = [];
for i = 1:r
tmp = find(data(i,:)<3);
if length(tmp)
result_c(i,:) = tmp(1);
result(i,:) = data(i,tmp(1));
else
result_c(i,:) = NaN;
result(i,:) = NaN;
end
end
[result_c, result]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询