作业帮 > 综合 > 作业

matlab相同数据问题处理求助,

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/30 02:40:42
matlab相同数据问题处理求助,
x=[32 35 37 48 50 50 53 53 58]
y=[102 230 324 456 182 182 683 742 834]
z=[1 1 1 1 1 1 1 1 1]
以上是想x轴和y轴的数据,可以看出有两个相同的数据.z轴初定义全为1
想要一个方程能直接判断x,y轴中这样的数(50,182)的个数然后新定义一个x,y轴(不含相同的数),然后z轴对应的数为重复的数的个数
改后应如下:
x=[32 35 37 48 50 53 53 58]
y=[102 230 324 456 182 683 742 834]
z=[1 1 1 1 2 1 1 1 1]
题目应该清楚了,
matlab相同数据问题处理求助,
clear;clc;
x=[32 35 37 48 50 50 53 53 58]
y=[102 230 324 456 182 182 683 742 834]
z=[1 1 1 1 1 1 1 1 1]
[A,m,n]=unique([x' y'],'rows');
x1=A(:,1)'
y1=A(:,2)'
z1=arrayfun(@(x)sum(n==x),1:length(m))
再问: 大神,x,y,z为列数据怎么改最后一行,还有@是什么意思 ?
再答: 列数据 clear;clc; x=[32 35 37 48 50 50 53 53 58]' y=[102 230 324 456 182 182 683 742 834]' z=[1 1 1 1 1 1 1 1 1]' [A,m,n]=unique([x y],'rows'); x1=A(:,1) y1=A(:,2) z1=arrayfun(@(x)sum(n==x),1:length(m))' @是用来定义函数的