matlab fread 和fscanf,matlab中fprintf, fscanf, fwrite, fread函數的用法

clear

clc

cd('C:\Documents and Settings\Administrator\桌面\matlab\test');

a = 1 : 10;

fid = fopen('myData.txt', 'w');

fprintf(fid, '%d ', a);

fclose(fid);

上述程序生成了myData.txt文件,其中的內容為:

1 2 3 4 5 6 7 8 9 10

clear

clc

cd('C:\Documents and Settings\Administrator\桌面\matlab\test');

fid = fopen('myData.txt', 'r');

[a count] = fscanf(fid, '%d', inf);

fclose(fid);

上述程序從myData.txt中讀取數據,放在列向量a中,最終count = 10; a = [1;2;3;4;5;6;7;8;9;10];

clear

clc

cd('C:\Documents and Settings\Administrator\桌面\matlab\test');

a = 0 : 255;

fid = fopen('myFile.yuv', 'wb');

fwrite(fid, a, 'uchar');

fclose(fid);

上述程序是以二進制方式存的0-255, 用文本文件方式打開肯定是亂碼, 所以要用UltraEdit打開,真正看到的是存儲在里面的比特位, 用UltraEdit看到的結果是: 00 01 02 ...... FE FF

clear

clc

cd('C:\Documents and Settings\Administrator\桌面\matlab\test');

fid = fopen('myFile.yuv', 'rb');

[a count] = fread(fid, inf, 'uchar');

fclose(fid);

上述程序讀取myFile.yuv文件中的內容,count = 256; a = [0;1;2;...;254;255];

以上用的都是向量,實際上可以用矩陣,有時候,用矩陣更方便. 為了簡便起見,僅僅考慮把數據讀到矩陣中(不考慮把矩陣寫進文件)

clear

clc

cd('C:\Documents and Settings\Administrator\桌面\matlab\test');

fid = fopen('myData.txt', 'r');

[a count1] = fscanf(fid, '%d', [5 2]);

fclose(fid);

fid = fopen('myFile.yuv', 'rb');

[b count2] = fread(fid, [16 16], 'uchar');

fclose(fid);

count1 = 10; count2 = 256; a和b都是矩陣的形式

a =

1     6

2     7

3     8

4     9

5    10

b =

0    16    32    48    64    80    96   112   128   144   160   176   192   208   224   240

1    17    33    49    65    81    97   113   129   145   161   177   193   209   225   241

2    18    34    50    66    82    98   114   130   146   162   178   194   210   226   242

3    19    35    51    67    83    99   115   131   147   163   179   195   211   227   243

4    20    36    52    68    84   100   116   132   148   164   180   196   212   228   244

5    21    37    53    69    85   101   117   133   149   165   181   197   213   229   245

6    22    38    54    70    86   102   118   134   150   166   182   198   214   230   246

7    23    39    55    71    87   103   119   135   151   167   183   199   215   231   247

8    24    40    56    72    88   104   120   136   152   168   184   200   216   232   248

9    25    41    57    73    89   105   121   137   153   169   185   201   217   233   249

10    26    42    58    74    90   106   122   138   154   170   186   202   218   234   250

11    27    43    59    75    91   107   123   139   155   171   187   203   219   235   251

12    28    44    60    76    92   108   124   140   156   172   188   204   220   236   252

13    29    45    61    77    93   109   125   141   157   173   189   205   221   237   253

14    30    46    62    78    94   110   126   142   158   174   190   206   222   238   254

15    31    47    63    79    95   111   127   143   159   175   191   207   223   239   255

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值