matlab假设网格颜色,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(5,100,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的矩陣map,1 2 3列分別代表R G B的值(0~1),第一行即為surf Z中最小值顯示的顏色,最后一行為surf Z中最大值顯示的顏色,如何布置map矩陣決定了色圖的顏色范圍。
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");
}
總結
以上是生活随笔為你收集整理的matlab假设网格颜色,MATLAB 画颜色网格图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keeplive linux平台下,Li
- 下一篇: [剑指offer]面试题第[57]题[L