検索エンジンから来た方は読みたい記事が表示されていない可能性があります。
その場合、左メニューのフォームでブログ内を検索すると見たい記事を見れると思います。
もしくは、カテゴリー名をクリックしていただくと各カテゴリーの記事のリストが見れます。
その場合、左メニューのフォームでブログ内を検索すると見たい記事を見れると思います。
もしくは、カテゴリー名をクリックしていただくと各カテゴリーの記事のリストが見れます。
Author:sach1o
しがない工学系大学院の学生です。
ホントに己に向けたMATLABのメモ。
学部生くらいにしか,多分あまり参考にならないと言っておく。王道のSimulinkも使いませんし。
ちなみに使ってるのは
『MATLAB2006b Windows ver.』と『MATLAB2007b Windows ver.』
書き込み = csvwrite('filename',M)もしくはdlmwrite('filename',M,',')
読み込み = M = csvread('filename') もしくは dlmread('filename',',')
部分読み込み = M = csvread('filename',row,col,range)もしくはdlmread('filename',',',range)
※rangeは省略可。指定する場合[始点行,始点列,終点行,終点列]
※ここでのrow,col,rangeにおいてはなぜかMATLAB標準の1から始まるインデックスではなく1列目が0で表されるので注意!!
>> A=rand(5)
A =
0.9501 0.7621 0.6154 0.4057 0.0579
0.2311 0.4565 0.7919 0.9355 0.3529
0.6068 0.0185 0.9218 0.9169 0.8132
0.4860 0.8214 0.7382 0.4103 0.0099
0.8913 0.4447 0.1763 0.8936 0.1389
>> csvwrite('Amatrix.csv',A);
>> csvwrite('abcd.csv',['a','b';'c','d']);
>> clear all;
>> A = csvread('Amatrix.csv')
A =
0.9501 0.7621 0.6154 0.4057 0.0579
0.2311 0.4565 0.7919 0.9355 0.3529
0.6068 0.0185 0.9218 0.9169 0.8132
0.4860 0.8214 0.7382 0.4103 0.0099
0.8913 0.4447 0.1763 0.8937 0.1389
>> A2 = csvread('Amatrix.csv',2,1)
A2 =
0.0185 0.9218 0.9169 0.8132
0.8214 0.7382 0.4103 0.0099
0.4447 0.1763 0.8937 0.1389
>> isequal(A2,A(3:length(A(:,1)),2:length(A(1,:))))
ans =
1
>> A3 = csvread('Amatrix.csv',2,0,[2,0,3,2])
A3 =
0.6068 0.0185 0.9218
0.4860 0.8214 0.7382
>> A3 = csvread('Amatrix.csv',1,1,[2,0,3,2])
警告: R and C should match RANGE(1:2). Use DLMREAD(FILE,DELIMITER,RANGE) instead.
> In dlmread at 110
In csvread at 47
A3 =
0 0 0 0
0 0.0185 0.9218 0.9169
0 0.8214 0.7382 0.4103
>> csvwrite('Bmatrix.csv',rand(1000,10));
>> tic;for ind=1:100 B = csvread('Bmatrix.csv',20,1);end;toc;
経過時間は2.918437秒です
>> tic;for ind=1:100 B2 = csvread('Bmatrix.csv');B2=B2(21:length(B2(:,1)),2:length(B2(1,:)));end;toc;
経過時間は2.866840秒です
>> tic;for ind=1:100 B3 = csvread('Bmatrix.csv');aa=size(B2);B2=B2(21:aa(1),2:aa(2));end;toc;
経過時間は2.867893秒です
>> tic;for ind=1:100 B4 = csvread('Bmatrix.csv');B4=B4(21:1000,2:10);end;toc;
経過時間は2.891784秒です
>> tic;for ind=1:100 B5 = dlmread('Bmatrix.csv',',',20,1);end;toc;
経過時間は2.810123秒です