Matlab数据:删除列中的负值?

Matlab数据:删除列中的负值?,matlab,Matlab,我使用textscan从如下代码中提取了一组数据列: fid = fopen('wam1.txt','r'); C = textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f','headerlines',4,'commentstyle','--'); fclose(fid); x = C{1}; y1 = C{5}; y2 = C{3}; 对于列y1和y2的主要部分,我的值为负值-1,其中没有读取数据。 我的任务是用0

我使用textscan从如下代码中提取了一组数据列:

fid = fopen('wam1.txt','r');
C = textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f','headerlines',4,'commentstyle','--');
fclose(fid);
x = C{1}; y1 = C{5}; y2 = C{3};
对于列y1和y2的主要部分,我的值为负值-1,其中没有读取数据。 我的任务是用0替换列中的这些-1值

我尝试使用
changem
,但似乎无法使其正常工作


有人能帮忙吗。

您可以通过
y1==-1
获得所有元素的布尔向量,并将它们替换为0:

y2( y2 == -1 ) = 0

您可以通过
y1==-1
获得所有元素的布尔向量,并将它们替换为0:

y2( y2 == -1 ) = 0

谢谢你的回答!:)谢谢你的回答!:)