哈乐和保列治价格:matlab输入输出

来源:百度文库 编辑:偶看新闻 时间:2024/04/26 18:07:44
matlab输入输出
输入语句
·
·                         输入数值
x=input('please input a number:')
please input a number:22
x = 22
·                         输入字符串
x=input('please input a string:','s')
please input a string:this is a string
x = this is a string
·                 输出语句
·                         输出显示命令
·                                 自由格式 (disp)
disp(23+454-29*4)
361
disp([11 22 33; 44 55 66; 77 88 99])
11 22 33
44 55 66
77 88 99
disp('this is a string')
this is a string
·                                 格式化输出 (fprintf)。
fprintf('The area is %8.5f\n', area) % 注意输出格式前须有%符号,
%跳行符号须有\符号
The area is 12.56637 % 输出值为8位数含5位小数
在这里你如果学过c语言就能很好的理解了。
·                         错误消息显示命令
error('this is an error')
this is an error
save
将 Matlab 环境内的变量储存到磁盘档案中,输出 MAT 档案。
load
读入 MAT 档案内的变量。
diary
将 Matlab 的工作过程一五一十的记录在一个纯文字文件内。
Matlab 提供非常一般性的档案输出输入功能,它有类似 C 语言的 fopen, fclose, fread, fwrite, fscanf, fprintf 函式。但是我们不在此介绍。
先谈输出。除非档案的名称指明了路径,否则 Matlab 一律将档案写在目前定义的工作区内。用 save 指令输出的档案是 MAT 檔。它的最简单用法就是
>> save

它将目前 Matlab 环境内的所有变量都储存到 matlab.mat 档案内,而且是以原始的数据型态储存。例如所有的数都是 double,占有 8 拜或 64 毕的资料量。所以 MAT 档案的大小,差不多就是变量本身的数据含量 (会稍微大一点,因为要加上 MAT 档案的文件头数据)。例如
>> whos
Name      Size         Bytes Class
       80x100        64000 double array
        1x13            26 char array
        1x15           120 double array
Grand total is 8028 elements using 64146 bytes
>> save
Saving to: matlab.mat

所有变量的数据含量是 64,146 拜,而储存后的 matlab.mat 档案含量是 64,344 拜。
以下略为解释 save 指令的其它用法。
save filename
将所有变量存盘,输出的档案是 filename.mat。
save filename a b c ...
将变数 a b c ... 储存到 filename.mat 内。
save filename a b c ... -append
一般来说新档案会覆盖 (overwrite) 同名的旧档案,若加了参数 -append 则新档案会增修同名的旧档案。增修的意思是,如果一个变量只在旧档案里面、或是只在新档案里面,则都会被储存起来;如果一个变量在新、旧档案里面都有,新档案中的变量会覆盖旧档案的同名变量。
利用 diary 指令,不但可以将工作流程记录下来,还可以趁机将数据数据以纯文字的形式储存。纯文字的数据数据比较浪费磁盘空间,但是比较方便转入其它程序,做其它的处理。例如一个双精度的浮点数
7.38905609893065
如果以原始数据型态储存,只需要 8 拜;如果以字符储存,则每个数目字需要一个 ASCII 码,加上小数点,共要 16 拜。如果在这个数目字的前面写四个空格,后面写一个折行符号,则又要加上 5 拜或 6 拜。但是若以纯文字形式储存,则所有编辑器或文字操作接口都可以看到这个数,它的意义一目了然。若以双精度浮点数的二进制数据型态储存,则必须用 Matlab 或其它类似 C 或 FORTRAN 这些程序语言,才能读到它的值。
我们用以下这个例子来说明 diary 的用法。
>> diary Jan08.txt
>> 1+1
ans =
     2
>> diary off
>> 2+2
ans =
     4
>> diary on
>> 3+3
ans =
     6
>> diary off
>> 4+4
ans =
     8

则 Jan08.txt 的档案内容是
1+1
ans =
     2
diary off
3+3
ans =
     6
diary off

综合以上实验,应该可以看出来
diary filename
指定 diary 的输出档案是 filename,但文件名不可以是 on。Matlab 不会自动添加扩展名。如果没有指定文件名,则内定名字就是 diary。
diary on
开始将工作记录输出 diary 档案中。不含这句指令本身。如果 diary 档案已经存在,新的记录会续接在就记录的后面。
diary off
停止输出,但是这句指令会被输出。
Load 指令会读入 MAT 档案。它的最简单用法就是
>> load

Matlab 会从目前定义的工作区读取 matlab.mat 档案内的变量。如果已经存在同样名字的变量,会被新读进来的变数覆盖掉。
以下略为解释 load 指令的其它用法。
load filename
将 filename.mat 档案内的所有数据都读出来。首先在工作区内找寻 filename.mat,如果找不到,就依照搜寻路径所定义的档案夹顺序来寻找。关于搜寻路径,请看 档案与路径 篇。
load filename a b c ...
从 filename.mat 内读取变数 a b c ... 的值。