How to add one scatter plor to another?
2 ビュー (過去 30 日間)
古いコメントを表示
Hello,
I have two pairs of (x,y) arrays, say (x1,y1) and (x2, y2), they have equal length, but may be unordered. Also x1 set intersect x2. For example x1 = [0, 2, 4, 8, 1, 10] and x2 = [2, 9, 11, 13, 5, 7], corresponds to y1 = x1.^4 and y2 = sqrt(x2).
How to scatterplot y1+y2 sum on union of x1 and x2? Thanks.
0 件のコメント
回答 (3 件)
Azzi Abdelmalek
2013 年 2 月 23 日
編集済み: Azzi Abdelmalek
2013 年 2 月 23 日
x=[x1 x2]
y=[y1 y2]
[val,idx]=sort(x);
new_x=val
new_y=y(idx)
plot(new_x,new_y)
2 件のコメント
Azzi Abdelmalek
2013 年 2 月 23 日
編集済み: Azzi Abdelmalek
2013 年 2 月 23 日
It's not clear, maybe this:
x=sort(unique([x1 x2]))
y1=x.^4;
y2=sqrt(x)
plot(x,y1+y2)
Azzi Abdelmalek
2013 年 2 月 23 日
編集済み: Azzi Abdelmalek
2013 年 2 月 23 日
%or you are looking for
x1 = [0, 2, 4, 8, 1, 10]
x2 = [2, 9, 11, 13, 5, 7],
y1=x1.^4;
idx1=find(ismember(x1,x2)) % find common values in x1 & x2
y1(idx1)=y(idx1)+sqrt(x1(idx1)) %add second function to common values
x2(ismember(x2,x1))=[] % remove common value from x2
y2=sqrt(x2)
[x,idx]=sort([x1 x2])
y=[y1 y2]
y=y(idx)
plot(x,y)
0 件のコメント
Vasily Kozhevnikov
2013 年 2 月 24 日
1 件のコメント
Azzi Abdelmalek
2013 年 2 月 24 日
Vasily, in your question y1 and y2 are not a list of object, but functions of x1 and x2.
参考
カテゴリ
Help Center および File Exchange で Scatter Plots についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!