i=i+1; end >> sum sum =
14196774 >> for I=1:10
A(I)=1/(I+1) ; end >> A A =
Columns 1 through 7
0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 Columns 8 through 10
0.1111 0.1000 0.0909 用fread读二进制数据文件 例:Fid=fopen(?std.dat?,?r?);
A=fread(Fid,100,?long?); fclose(Fid);
用fwrite写二进制文件: COUNT=fwrite(Fid, A, precision) 例: Fid=fopen(?test.dat?, ?w?); cnt=fwrite(Fid, A, ?float?) fclose(Fid);
用fscanf读取ASCII数据文件: [A, COUNT]=fscanf(Fid, format, size) format用以控制读取的数据格式,由%加上格式符组成,常见的格式符有:d, i, o,u, x, e, f, s, c。
例:fscanf(Fid, ?%s?);
fscant(Fid, ?%6.2f?); fscanf(Fid, “]?);
用fprint写ASCII文本数据到文件或屏幕上: COUNT=fprintf(Fid, format, A, …) 例: x=0:0.1:1; y=exp(x)
Fid=fopen(?e:\\exp.txt', 'w')
fprintf(Fid, '%6.2f, .8f\\n',x,y) fclose(Fid);
例:编一个画宝石项链的程序
echo on
t=(0:0.02:2)*pi; x=sin(t); y=cos(t); z=cos(2*t);
plot3(x,y,z,'b-',x,y,z,'bd') view([-80,60]) box on
legend(?链子?,?宝石?);
存入文件necklace.m
例:计算第n个Fibonnaci斐波纳契数 (一种整数数列, 其中每数等于前面两数之和) function f=fibfun(n) 函数定义行 n—函数输入;f—函数输出;fibfun—函数名。 % FIBFUN For calculating Fibonacci numbers. 函数帮助行 % Incidengtally, the name fibonacci comes from
% Filius Bonassi, or “son of Bonassus” 在线函数帮助文件 % fibfun.m if n>2
f=fibfun(n-1)+fibfun(n-2); 函数体 else
f=1; end
上机练习(3)
( 1)利用 for 循环求 1!+2!+3!…+20!的值。
( 2)用 while 循环求 1~200 之间的整数之和。
( 3)编写一个 M 文件,画出下列分段函数所表示的曲面。
22 ?0.54e?0.75x?3.75y?1.5y x?y?1?22
p(x,y)??0.7575e?x?6y ?1?x?y?1 ?0.5457e?0.75x2?3.75y2?1.5y x?y??1 ?( 4)编写一个求圆的面积的函数文件。 ( 5)编写一个求圆的面积的命令文件
>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16] A =
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
? 利用表达式输入 >> B=[1,sqrt(25),9,13 2,6,10,7*2
3+sin(pi),7,11,15 4,abs(-8),12,16]
B =
1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 b.利用内部函数产生矩阵
%compan生成x向量的伴随矩阵 >> x=[2,4,6,8,10] x =
2 4 6 8 10 >> compan(x) ans =
-2 -3 -4 -5 -6 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 % eye 生成单位阵 >> S=eye(6) S =
1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2、矩阵元素的修改
>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16] A =
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >> A(1,1) ans = 1 >> A(2,3) ans = 7
>> A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0); >> A A =
0 2 3 4 5 7 7 8
9 10 11 12 13 14 15 1 a. 矩阵的加减运算
>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16] >> B=[1,sqrt(25),9,13 2,6,10 7*2
3+sin(pi),7,11,15 4,abs(-8),12,16] >> C=A+B C =
2 7 12 17 7 12 17 22 12 17 22 27 17 22 27 32 >> D=A-B D =
0 -3 -6 -9 3 0 -3 -6 6 3 0 -3 9 6 3 0 >> E=A+3 E =
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
b. 矩阵乘法 >> C=A*B C =
30 70 110 150 70 174 278 382 110 278 446 614 150 382 614 846 >> D=A*3 D =
3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 c. 矩阵除法
左除 A\\B=inv(A)*B >> A=[8,1,6;3,5,7;4,9,2] A =