MATLAB 색상 그리기

작도 코드

clear;
clc;
%%%%%%%%   %%%%%%%%
[m,n]=meshgrid(0:100);%100*100   
%%%%%%%%  %%%%%%%%
A=load('D:\Seminar\8_Tencent20160608\FuzzyLogicMike_UnityProject\expectationData_101X101.txt');
surf(m,n,A);
%%%%%%%%    %%%%%%%%
map=ones(100,3);
c=linspace(1,0)';
map(1:100,[2,3])=[c,c];
colormap(map);
colorbar;
%%%%%%%%     %%%%%%%%
set(gca,'xtick',0:10:100);
set(gca,'xticklabel',{'0%','10%','20%','30%','40%','50%','60%','70%','80%','90%','100%'});
set(gca,'yticklabel',{'0m','10m','20m','30m','40m','50m','60m','70m','80m','90m','100m'});
view(2);

meshgrid 사용법


meshgrid는 샘플링 포인트를 만드는 격자에 사용됩니다
예를 들면 x=1:3을 알 수 있다.y=10:14;[X,Y] = meshgrid(x,y)
X = 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Y = 10 10 10 11 11 11 12 12 12 13 13 13
meshgrid의 함수는 이렇게 엮어야 한다. x=x1:d1:x2;y=[y1:d2:y2]’;X=ones(size(y))*x;Y=y*ones(size(x))

linspace 사용 방법


linspace는 Matlab에서 지정한 범위 내의 지정한 수량 포인트를 생성하는 데 사용되며, 인접한 데이터의 경계가 같고, 줄 벡터를 되돌려줍니다.호출 방법: linspace(x1, x2, N)
기능: x1, x2 사이의 길이가 N인 줄 벡터를 생성하는데 사용되며 인접 데이터의 경계가 같다.여기서 x1, x2, N은 각각 시작값, 끝값, 원소 개수이다.N이 기본이면 기본 점 수는 100입니다.
예를 들어 다음과 같다. X=linspace(5100,20)%는 5에서 100 범위 내의 20개의 데이터를 생성하고 인접 데이터의 경계가 같다.
X = 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
PS: X=[5:5:100]와 같은 효과를 냅니다.

xtick,xticklabel


간단하게 말하자면 xtick은 눈금(작은 세로선)이다.xticklabel 눈금 값 (세로 아래의 값).
set(gca,'xtick', -pi:pi/2:pi)이란 말은 수동으로 x축의 각도를 설정하고 -pi에서 pi 사이를 간격마다 pi/2로 작은 세로줄을 긋는 것을 의미한다.set(gca,'xticklabel', {'-pi','-pi/2','0','pi/2','pi'})이란 말은 방금 그은 작은 세로줄에 수치를 표시하는 뜻이다.만약 당신이 그것을 set (gca, 'xticklabel', {'a', 'b', 'c', 'd', 'e'}) 로 바꾸면 그 작은 세로선 아래는: a, b, c, d, e가 됩니다.

colormap

map=ones(100,3);
c=linspace(1,0)';
map(1:100,[2,3])=[c,c];
colormap(map);
colorbar;

surf를 사용할 때colormap으로 분포된 색을 설정합니다.간단하게 말하면 N*3의 매트릭스 맵을 설정하면 123열은 각각 R G B의 값(0~1)을 대표하고 첫 줄은surf Z에서 가장 작은 값으로 표시되는 색이고 마지막 행동은surf Z에서 가장 큰 값이 표시되는 색이다. 맵 행렬을 어떻게 배치하는가가 색도의 색 범위를 결정한다.

xlsread


Example 1— Reading Numeric Data


The Microsoft Excel spreadsheet file testdata1.xls contains this data:
    1    6
    2    7
    3    8
    4    9
    5   10

To read this data into MATLAB, use this command:
A = xlsread('testdata1.xls')
A =
    1    6
    2    7
    3    8
    4    9
    5   10

읽기.txt 파일에서 행렬로


만약 txt 안이 행렬의 형식 (숫자만) 이라면 직접
A=load('D:\  \TestFile.txt')

  A =

     1     2     3
     8     6     9
     2     4     2

CSharp 쓰기 대상.txt

using System;
using System.IO;
//    
using (StreamWriter sw = new StreamWriter("TestFile.txt")) {
            // Add some text to the file.
            sw.WriteLine("1 2.21323 3");
            sw.WriteLine("8 6 9.123213124324");
            sw.WriteLine("2 4 0");
}

좋은 웹페이지 즐겨찾기