2017-02-28 7 views
0

私はいくつかの偏向と力の値が含まれているいくつかのデータを持っています。 deltaX deltaYと、その点で測定された力をFxとFyとして表します。私はその点で力の大きさと2次元の点間の色の遷移を持つカラーマップを作成したいと思います。たとえば、point1が赤(高い値、大きな偏向)でpoint2が青(低い値、小さな偏向)の場合、それらの間で色の遷移が必要です。あなたはそれについて何か提案していますか?matlabで特定のポイントとカラーウェイトでカラーマップを作成

データを以下に示す。 第1の列positionX 第二のカラム位置j 3列FORCEX 記載カラムforceY

IはXとYの位置と力の大きさに応じてこのマップをプロットする必要があります。

***ベクトルの大きさをとると、positionX positionYと1つのみのforce値があります。

filein = 

     0   0 -0.0395 0.1189 
     0 1.5053 0.2127 -11.3568 
    -0.0008 3.0082 0.6719 -22.0470 
    -0.0048 4.5093 0.9231 -32.7004 
    0.0069 6.0033 1.2499 -43.2750 
    -0.0029 7.5008 1.6960 -53.4941 
    1.4981 0.0102 -1.5213 1.2031 
    1.4979 1.5003 -1.2326 -10.0738 
    1.5071 3.0043 -0.6965 -20.7386 
    1.4896 4.4943 -0.2563 -31.5026 
    1.5020 5.9921 0.0480 -42.3186 
    1.5021 7.4909 0.7614 -52.7354 
    3.0016 0.0022 -2.6099 1.9455 
    3.0022 1.4960 -2.6157 -9.3388 
    2.9959 3.0087 -1.8898 -20.1823 
    2.9955 4.4977 -1.3670 -30.7842 
    2.9923 6.0041 -0.8444 -41.7370 
    2.9976 7.5055 -0.2241 -52.1361 
    4.4995 -0.0016 -4.0576 2.5489 
    4.5009 1.4961 -3.8135 -8.6871 
    4.4930 2.9939 -3.0315 -19.4825 
    4.4986 4.5045 -2.6034 -30.2974 
    4.5046 5.9931 -1.9570 -40.9145 
    4.4972 7.5023 -1.1994 -51.4071 
    5.9931 -0.0014 -5.1986 3.2395 
    5.9954 1.5000 -5.1224 -7.9289 
    6.0017 2.9977 -4.3153 -18.7471 
    6.0045 4.4939 -3.6613 -29.4662 
    6.0030 6.0081 -2.9086 -40.3400 
    6.0003 7.5006 -2.1704 -50.6973 
    7.4974 -0.0018 -6.5690 4.0048 
    7.4977 1.5043 -6.5230 -7.0994 
    7.5047 3.0058 -5.5833 -18.0435 
    7.5083 4.5058 -4.8070 -28.6861 
    7.5024 6.0059 -4.0150 -39.4321 
    7.5006 7.5023 -3.1837 -49.8617 
+0

これは、3D面として表すことができない4D行列です。 2つの別々の図形を 'X、Y、Fx'と' X、Y、Fy'でプロットするのはどうですか? – NKN

+0

実際にベクトルの大きさをとると、3つの異なるパラメータがあります。 – ssovukluk

+0

特定の点では色の重みが同じです。たとえば、青い面などがあります。データプログラムに応じて力のデータを取得すると、色で特定の領域がペイントされます。 – ssovukluk

答えて

0

あなたはそれをプロットしmeshgridsurfまたはmeshコマンドを使用することができます。

[X,Y] = meshgrid(filein(:,1),filein(:,2)); 
M = sqrt(filein(:,3).^2+filein(:,4).^2); 
Z=meshgrid(M,M); 
C = gradient(Z); 
figure 
surf(X,Y,Z,C);colorbar 

enter image description here

あなたはメッシュを削除し、次のように補間することができます。

surf(X, Y, Z,'EdgeColor', 'None', 'facecolor', 'interp'); 

enter image description here

そして上からそれを表示:

view(2) 

enter image description here

+0

2Dであるはずです。私はそれをX-Y平面から見て変更します。それは私が見たいものです。しかし、私がX-Yから見ると、色はとても接近しています。どうすればそれをより明白にすることができますか? – ssovukluk

+0

編集内容を確認してください。 – NKN

+0

ありがとうございます。私はこの点の後でそれをちょっと試して扱うことができます。 Uは私に素晴らしい出発点を与えました。乾杯。 – ssovukluk

関連する問題