Matlab问答day12

原创 2016年08月29日 16:06:54

1. colormap(hot)

colormap函数是配合画图函数的一个函数,用以调节图的颜色。

选项有许多,hot,cool,spring,winter...以适应各种图像颜色的需求。

colorbar也是类似colormap函数的一个函数,以给出某些彩色图像的色值,用颜色来表达某些值。

subplot(1,2,1),bar(rand(3,1)),colormap(hot),colorbar,title('hot')
subplot(1,2,2),bar(rand(3,1)),colormap(cool),colorbar,title('cool')

 

2. csv数据转化为double数组

实际上就是一个由多个数字构成的字符串数据,想要将其中的字符串拆分开来变成一个数据,而多个这样的字符串数据最后形成一个矩阵。

在Matlab上有元胞矩阵的帮忙比在C语言上好很多,不用in和out标记。

clear
clc
%将存在元胞矩阵中的字符串变换为数组
str = {'031 020 06 5 013';'25 16 23 09 18';'28 078 32 9 12'}

[m,n] = size(str);
for i = 1:m
    Mat(i,:) = Str2Mat(str(i,1));%%调用str2Mat函数,参数为上边元胞矩阵中的每个字符串
end
%%%注意,如果原元胞矩阵中的元素个数不统一,务要考虑循环中Mat的大小,否则会造成矩阵行列不匹配的情况
Mat


重新建立一个文件,存放函数str2Mat:

function Mat = Str2Mat(str)
%this funtion put string into a matrix which contains the numbers in the
%string
%str:string;Mat the data matrix

%%%示例数据
% % % str = {'0 15 36 70 9 8'};
strCell = str{1};
strLen = length(strCell);%find out the length of the string

%begin for loop in order to get every number in this string
Mat = [];
beginPosition = 0;
for i =1:strLen
    if strCell(i) ~= ' '%the first character of the string
        beginPosition = i;%if this is not a space, we can judge that it begins the number
        break;
    end
end

strArr{strLen} = [];
counter = 1;
for i = beginPosition:strLen
    if strCell(i) ~= ' '%将数字组成的字符串拆分成各数字组成的数组,组内的元素为数字的字符串
        strArr{counter} = [strArr{counter},strCell(i)];
    else
        counter = counter + 1;
    end
end

for i = 1:strLen
    if ~isempty(strArr{i})%将字符串翻译成数字,存入Mat中
        Mat(i) = str2double(strArr{i});
    end
end

end


最后结果如图:


Matlab问答day6

1. regress 函数与 fitlm 函数的关系 最近在处理一些数据,用到了二维拟合与回归,发现这两个函数在Matlab中有相关性。就好像最小二乘法与线性回归具有相关性一样。     tbl ...
  • u010814231
  • u010814231
  • 2016年08月23日 08:38
  • 171

黑马程序员_day12_包,权限

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ fianlly { //一定会被执行的代码。 //主要用于释放资...
  • huasen1990
  • huasen1990
  • 2013年04月30日 00:04
  • 327

Matlab问答day11

1. 画三维隐函数点击打开链接:from Matlab论坛 另一个隐函数f(x,y,z)的画法,slice函数...
  • u010814231
  • u010814231
  • 2016年08月28日 20:00
  • 171

Matlab问答day10

1.Matlab的delaunay三角剖分函数 clear clc %假设已知数据: x = rand(5,1); y = rand(5,1); TRI = delaunay(x',y'); trip...
  • u010814231
  • u010814231
  • 2016年08月27日 20:59
  • 283

Matlab问答day2

1. 三维做图 clear clc x = rand(1,100); y = rand(1,100); z = randi(4,1,100);%整数随机,第一个参数为上限,第二、三个参数才为...
  • u010814231
  • u010814231
  • 2016年08月19日 08:29
  • 154

Matlab问答day7

1. patch 函数 以向量为端点,画多边形 clear clc x = [0 1 0 4 5 6]; y = [0 0 1 0 9 8]; patch(x,y,'red')   ...
  • u010814231
  • u010814231
  • 2016年08月24日 21:26
  • 143

Matlab问答day13

PS:哪位好心告诉一下,这个CSDN的博客如何上传图片啊???我每篇博客里的程序都是有效果图的啊!!!这些天什么方法都试了,直接复制粘贴不行;点击下面的上传键,浏览上传也不行。上传不了图片,如何让人发...
  • u010814231
  • u010814231
  • 2016年08月30日 19:54
  • 337

Matlab问答day8

1. 程序运行时间问题: 数据不同,计算级别也会有很大的差异,要是解方程的话就更是如此。 我曾有一个程序参数a = 1, b=1, c =1时,大概一个小时;a=1,b=2,c=3时就6个小时。虽...
  • u010814231
  • u010814231
  • 2016年08月25日 20:18
  • 122

Matlab问答day9

1. repmat函数 这个函数我不太熟悉,先前只知道是类似于reshape类的整合矩阵形状的函数,今天大开眼界,看到了一个新奇的用法,因此特地研究了一下。 简单说来,它就是一个复制矩阵的函数...
  • u010814231
  • u010814231
  • 2016年08月26日 20:43
  • 213

Matlab问答day3

1. 判断语句有问题 q = [1,4,3,8,5]; p = [3,4,5,6,7]; C = p - q; if C     q = 0; end 矩阵不能比较大小 若C=[1,-1,0,0...
  • u010814231
  • u010814231
  • 2016年08月20日 08:56
  • 158
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Matlab问答day12
举报原因:
原因补充:

(最多只允许输入30个字)