概述:
1 脚本M文件
1 clear all; 2 %设置精度 3 format long; 4 %定义变量 5 n=40 6 s=0 7 %循环 8 for i=1:n 9 s=s+1/2^i; 10 end 11 s 12 format short;
2 函数M文件
1 function y=mymax(varargin) 2 % 任意数目的输入参数,求所有元素的最大值 3 4 if length(varargin)==0 5 disp(\'请输入参数!\'); 6 return; 7 else 8 tmp=[length(varargin)]; 9 end 10 for i=1:length(varargin) 11 tmp(i)=max(varargin{i}(:)); 12 end 13 y=max(tmp);
3 函数的参数传递
1 function y=mymax12(x1,x2,x3) 2 % 计算标量或向量的最大值 3 4 if nargin==0 5 y=NaN; 6 disp(\'请输入参数!\'); 7 return; 8 elseif nargin==1 9 y=max(x1); 10 elseif nargin==2 11 y=max(max(x1),max(x2)); 12 else 13 y=max([max(x1),max(x2),max(x3)]); 14 end
1 function [y1,y2]=mymin(x1,x2) 2 % 计算标量或向量的最小值 3 4 if nargin==1 5 y1=min(x1); 6 y2=y1; 7 elseif nargin==2 8 y1=min(x1); 9 y2=min(x2); 10 end 11 if nargout==1 12 y1=min(y1,y2); 13 end
4 流程控制
4.1 变量
4.2 顺序结构
4.3 分支结构
4.4 循环结构
4.5 try...catch语句
5 人机交互函数
1 clear all; 2 r1=input(\'Do you like apple? Y/N: \',\'s\'); 3 while isempty(r1) 4 r1=input(\'Do you like apple? Y/N: \',\'s\'); 5 end 6 disp(r1); 7 disp(\'input matrix,for example:eye(5)\'); 8 r2=input(\'\',\'s\'); 9 f=eval(r2)
1 clear all; 2 a=[1 2 3;2 3 4] 3 b=[4 5 3;7 8 9] 4 keyboard 5 c=a+b
1 clear all; 2 t=0:pi/20:2*pi; 3 x=sin(t); 4 figure; 5 plot(t,x) 6 xlabel(\'t\'); 7 ylabel(\'x\'); 8 hold on; 9 for i=1:7 10 pause; 11 plot(t,sin(t+i/5)); 12 hold on; 13 end
1 clear all; 2 a=[1 2 3;2 3 4]; 3 b=[1 2 3;7 8 9]; 4 echo on; 5 c=a+b 6 d=a-b 7 echo off; 8 e=a.*b
6 函数类型
6.1 主函数
6.2 子函数
1 function [a,b]=mymain(x,y) 2 % 主函数 3 a=mysub1(x,y); 4 b=mysub2(x,y); 5 end 6 7 function z=mysub1(x,y) 8 % 子函数1 9 z=x-y; 10 end 11 12 function z=mysub2(x,y) 13 % 子函数2 14 z=x+y; 15 end
1 clear all; 2 [a,b]=mymain(3,4) 3 [x,y]=mymain(5,6) 4 help mymain 5 help mymain>mysub1 6 help mymain>mysub2
6.3 嵌套函数
6.4 私有函数
6.5 重载函数
6.6 匿名函数
请发表评论