matlab教程第七章m文件和函数句柄(编辑修改稿)内容摘要:
sss={39。 base39。 ,39。 caller39。 ,39。 self39。 }。 for k=1:3 y0=evalinzzy(8,sss{k})。 subplot(1,3,k) plot(real(y0),imag(y0),39。 r39。 ,39。 LineWidth39。 ,3),axis square image end 5 20 0 202010010205 0 55054 2 0 2 442024 图 利用不同工作空间中的变量值计算 eval(39。 a*exp(i*t)39。 ) 二 跨空间赋值 【例 】 assignin运作机理示范。 ( 1)编写 M 函数文件 [] function y=assigninxyq(x) y=sqrt(x)。 t=x^2。 assignin(39。 base39。 ,39。 yy39。 ,t) ( 2)在 Notebbok 或 MATLAB 指令窗中运行以下指令 clear。 x=4。 y=assigninxyq(x)。 disp([blanks(5),39。 x39。 ,blanks(5),39。 y39。 ,blanks(4),39。 yy39。 ]),disp([x,y,yy]) x y yy 4 2 16 子函数和私用函数 一 子函数 二 私用函数 串演算函数 eval 【例 】计算“语句”串,创建变量。 clear,t=pi。 eval(39。 theta=t/2,y=sin(theta)39。 )。 theta = y = 1 【例 】计算“合成”串。 CEM={39。 cos39。 ,39。 sin39。 ,39。 tan39。 }。 for k=1:3 theta=pi*k/12。 y(1,k)=eval([CEM{k},39。 (39。 ,num2str(theta),39。 )39。 ])。 end y 6 y = feval 【例 】对字符 串类型函数只能用 eval ,而不能用 feval。 x=pi/4。 Ve=eval(39。 1+sin(x)39。 ) Ve = Vf=feval(39。 1+sin(x)39。 ,x) ??? Error using == feval Invalid function name 39。 1+sin(x)39。 . 【例 】函数句柄只能被 feval 运用,而不能被 eval 调用。 ( 1) rand(39。 seed39。 ,1)。 A=rand(2,2)。 Heig=@eig。 d=feval(Heig,A) d = ( 2) de=eval(Heig,A) ??? Error using == eval Function 39。 eval39。 not defined for variables of class 39。 function_handle39。 . ( 3) dn=feval(39。 eig39。 , A) dn = 内联函数 【例 】用内联函数对象实现 yaeyxaG x c o s),( 。 G=inline(39。 a*exp(x)*cos(y)39。 ,39。 a39。 ,39。 x3。matlab教程第七章m文件和函数句柄(编辑修改稿)
相关推荐
0 0 Results by feval 0 0 内联函数 内联函数的创建 涉及内联函数性质的指令 内联函数创建和应用示例 【例 】演示:内联函数的第一种创建格式;使内联函数适于“数组运算”。 clear,F1=inline(39。 sin(rho)/rho39。 ) F1 = Inline function: F1(rho) = sin(rho)/rho f1=F1(2) f1 =
0 0 222 0 0 0 0 111 222 0 0 0 0 111 222 B=ones(2,6) B = 1 1 1 1 1 1 1 1 1 1 1 1 AB_r=[A。 B] AB_r = 1 4 7 0 0 222 2 5 8 0 0 222 3 6 9 0 0 222 0 0 0 0 0 222 0 0 0 0 111 222 1 1 1 1 1 1 1 1 1 1 1 1
[1x1 sym] [+ ] [3x3 double] [] 8 元胞数组内容的调取 【例 】元胞数组内容的调取示例。 ( 1) f1=R_A_C(1,3) class(f1) f1 = [1x1 sym] ans = cell ( 2) f2=R_A_C{1,3} class(f2) f2 = sin(3*t)*exp(t) ans = sym ( 3) f3=R_A_C{1,1}(:,[1
e39。 ,0)。 a=rand(2,2)。 s1=num2str(a) s_s=sprintf(39。 %.10e\n39。 ,a) s1 = s_s = fprintf(39。 %.5g\\39。 ,a) \\\\ s_sscan=sscanf(s_s,39。 %f39。 ,[3,2]) s_sscan = 0 0 串操作函数 5 元胞数组 元胞数组的创建和显示 一
由小到大排序 sortrows 由小到大按行排序 std 标 准差 sum 元素和 trapz 梯形数值积分 var 求方差 有限差分( Finite differences) del2 五点离散 Laplacian , diff 差分和近似微分 , gradient 梯度 , 13 相关( Correlation) corrcoef 相关系数 cov 协方差矩阵 subspace
目的 1. 理解 MATLAB 的编程方法 2.掌握 if 语句和 switch 语句的使用 3. 掌握分支结构程序设计方法 4. 通过 练习理解 MATLAB 编程方法和分支结构程序设计方法。 二、 实验环境 1. 计算机 2. 集成环境 三、实验说明 1. 熟练操作 运行环境 2. 自主编写程序,必要时参考相关资料 3.实验前应 写出程序大致框架或完整 的程序代码 5.实验学时: 2学时 四