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");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值