数学应用软件实验八函数调用及嵌套.doc

数学应用软件实验八函数调用及嵌套.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学应用软件实验八函数调用及嵌套

院(系) 学号 姓名 成绩 课程 名称 数学应用软件实验 实验项目 名 称 函数调用及嵌套 指导 教师 一 、实验目的 熟悉自定义函数的创建方法; 熟悉子函数的调用方式; 了解函数递归调用; 4.了解函数的作用域。 实验内容与步骤(过程及结果) 图 9 解:源代码为: function [S C]=SCT2(x,y) %计算三角形的面积及周长; %example: x=[0 4 4]; y=[0 0 3]; [a,b,c,d]=Distance(x,y); S=Square(a,b,c,d,e); C=Perimeter(a,b,c,d); s=r; my_plot(x,y,s) function my_plot(x,y,s) %自定义画图函数 fill(x,y,s); legend(triangle) end end function [a,b,c,d,e]=Distance(x,y) %自定义函数求三角形的三边长度; a=sqrt((x(1)-x(2))^2+(y(1)-y(2))^2); b=sqrt((x(2)-x(3))^2+(y(2)-y(3))^2); c=sqrt((x(3)-x(4))^2+(y(3)-y(4))^2); d=sqrt((x(1)-x(4))^2+(y(1)-y(4))^2); e=sqrt((x(2)-x(4))^2+(y(2)-y(4))^2); end function S=Square(a,b,c,d,e) %自定义函数求三角形的面积; p1=(a+e+d)/2; S1=sqrt(p1*(p1-a)*(p1-e)*(p1-d)); p2=(b+c+e)/2; S2=sqrt(p2*(p-b)*(p-c)*(p-e)); S=S1+S2; end function C=Perimeter(a,b,c,d) %自定义函数求三角形的周长; C=a+b+c+d; end 定义填充函数: function my_plot(x,y,s) %自定义画图函数 fill(x,y,s); %填充 legend(凸四边形) end定义实现功能函数,其中调用my_plot函数 function SCT2(x1,y1) s=b; my_plot(x1,y1,s) 2.编写函数文件,主函数文件头如下,求解线性方程组,并至少找三个实例进行验证。要求:至少调用两个自定义函数。 function [B,SS,Tag]=MyLES(A,b) % 功能:求解线性方程组; % A,b分别为系数矩阵及右端项; % B为基础解系构成的矩阵,无解时B=[],有唯一解时,B=SS=唯一解; % SS为特解,无解时SS=[]; % Tag为求解结果标识, Tag=0表无解,Tag=1表存在唯一解,Tag=2表存在无穷多解。 end 解:源代码为: function [B,SS,Tag]=MyLES(A,b) [m n]=size(A); a1=rank(A); a2=rank([A,b]); %增广矩阵的秩 c=a1-a2; if c==0 Tag=1; if a1==n %克拉默法则求 for i=1:n temp=A; temp(:,i)=b; B(i)=det(temp)/det(A); end SS=B; else a1n temp=rref([A,b]); %化为最简行列式 count=a1+1; temp2 = zeros(m,n-a1); for k=1:n-a1 temp2(:,k)=temp(:,k+a1); end B=temp2; Tag=2; SS=temp(:,n+1); end else Tag=0; B=[]; SS=[]; S=方程组无解!; end 结果截图为: 第一组测试数据(唯一解): A=[1 1 2 3;3 -1 -1 -2;2 3 -1 -1;1 2 3 -1]; b=[1 -4 -6 -4]; [B,SS,Tag]=MyLES(A,b) 结果如下图12: 第二组数组测试(无穷多个解) A=[1 3 5 -4 0;1 3 2 -2 1;1 -2 1 -1 -1;1 -4 1 1 -1;1 2 1 -1 1]; b=[1 -1 3 3 -1]

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档