matlab自己写的小程序.doc_第1页
matlab自己写的小程序.doc_第2页
matlab自己写的小程序.doc_第3页
matlab自己写的小程序.doc_第4页
matlab自己写的小程序.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

李根 10级A 1041000181. 用上三角计算行列式的值function D=fdet(A)%该函数把矩阵化成上三角,计算它的值m,n=size(A);if m=n D=该矩阵不是方阵; return;endfor i=1:m if A(i,i)=0 %判断A(i,i)是否为0,为0就要交换 for j=i+1 : m if A(j,i)=0; temp=A(i,:); A(i,:)=A(j,:); A(j,:)=temp; break; end end end for k=i+1 : m if A(k,i)=0 A(k,:)=A(k,:)-A(k,i)/A(i,i)*A(i,:); %把该列的第i个元素下面都化成0 end endendD=1;for i=1:m D=D*A(i,i);enddisp(D);2. 该程序实现抽奖功能function aword( )%该函数实现福彩3D 和 双色球摇奖功能a=fix(10*rand();b=fix(10*rand();c=fix(10*rand();disp(3D中奖号码为:,int2str(a),int2str(b),int2str(c);tmpflag=0;x(1)=fix(32*rand()+1);x(2)=fix(32*rand()+1); %防止出现相同的号码,双色球中无相同的红球,以下if x(2)=x(1) tmpflag=1; while tmpflag=1; x(2)=fix(32*rand()+1); if x(2)=x(1) tmpflag=0; end endendx(3)=fix(32*rand()+1);if x(3)=x(2) | x(3)=x(1) tmpflag=1; while tmpflag=1; x(3)=fix(32*rand()+1); if x(3)=x(1) & x(3)=x(2) tmpflag=0; end endendx(4)=fix(32*rand()+1);if x(4)=x(3) | x(4)=x(2) |x(4)=x(1) tmpflag=1; while tmpflag=1; x(2)=fix(32*rand()+1); if x(4)=x(3) & x(4)=x(2) &x(4)=x(1) tmpflag=0; end endendx(5)=fix(32*rand()+1);if x(5)=x(4) | x(5)=x(3)| x(5)=x(2) | x(5)=x(1) tmpflag=1; while tmpflag=1; x(2)=fix(32*rand()+1); if x(5)=x(4) & x(5)=x(3)& x(5)=x(2) & x(5)=x(1) tmpflag=0; end endendx(6)=fix(32*rand()+1);if x(6)=x(5) | x(6)=x(4)| x(6)=x(3) | x(6)=x(2) | x(6)=x(1) tmpflag=1; while tmpflag=1; x(2)=fix(32*rand()+1); if x(6)=x(5) & x(6)=x(4)& x(6)=x(3) & x(6)=x(2) & x(6)=x(1) tmpflag=0; end endendd=fix(16*rand();disp(双色球中奖号码:,int2str(x(1),+,int2str(x(2),+,int2str(x(3),+,int2str(x(4),+,int2str(x(5),+,int2str(x(6),+,蓝球,int2str(d);end3. 该函数用来出+ - * /题,考察小学生,并计算作对的题目function hl()%随机出小学加减乘除的题考查小学生的计算能力disp(该函数用来出10道题!);%如想出多少道可以改while的上界值count=0;i=1;while i=10a=fix(rand()*100);b=fix(rand()*100);c=fix(rand()*3+1);switch c case 1 fprintf(%d+%d=,a,b); t1=input( ); if (a+b)=t1 fprintf( n); count=count+1; else fprintf( n); end case 2 if ab t=a;a=b;b=t; end fprintf(%d-%d=,a,b); t1=input( ); if (a-b)=t1 fprintf( n); count=count+1; else fprintf( n); end case 3 fprintf(%d*%d=,a,b); t1=input( ); if (a*b)=t1 fprintf( n); count=count+1; else fprintf( n); end case 4 if b=0 b=fit(rand()*99+1); end fprintf(%d%d=,a,b); t1=input( ); if (a/b)=t1 fprintf( n); count=count+1; else fprintf( n); endendi=i+1;endfprintf(你作对了%d道题!,count);4.该函数用来求矩阵的逆矩阵function B=finv(A)%该函数用来求矩阵的逆矩阵m,n=size(A);if m=n disp(该矩阵不是方阵!); return;endif det(A)=0 disp(该矩阵没有逆矩阵!); return;endW=eye(m);T=A W;disp(T);for i=1:m if T(i,i)=0 %判断A(i,i)是否为0,为0就要交换 for j=i+1 : m if T(j,i)=0; temp=T(i,:); T(i,:)=T(j,:); T(j,:)=temp; break; end end end for k=i+1 : m if T(k,i)=0 T(k,:)=T(k,:)-T(k,i)/T(i,i)*T(i,:); %把该列的第i个元素下面都化成0 end endenddisp(T);for i=i:m if T(i,i)=0 T(i,:)=T(i,:)/T(i,i); endendfor i=m:-1:1 if T(i,i)=0 for j=i-1:-1:1 T(j,:)=T(j,:)-T(j,i)*T(i,:) end endendB=T(:,m+1:end);disp(B);5.该函数用来查找任一矩阵中的元素function B=fsort(A,key)%实现快速查找,在数组中找到该元素m,n=size(A);flag=0;for i=1:mfor j=1:nif key=A(i,j) B=i,j; disp(在第,int2str(i),行,第,int2str(i),列!); flag=1; returnendendendif flag=0 disp(该数不在数组中!);endend6.该函数用来统计学生信息,做成表格一样方便浏览function tcu()%该函数用来统计学生信息n=0;flag=1;disp(以下都为字符串,请用,你要统计几个学生的成绩:);h=input();while flag=1 n=n+1; if n=h flag=0; end fprintf(请输入学号:); student(n).no=input(); fprintf(请输入姓名:); student(n).name=input(); fprintf(请输入性别:); student(n).sex=input(); fprintf(请输入电话号码:); student(n).tel=input();endfprintf(学号 姓名 性别 电话号码tn);for i=1:n fprintf(%s %s %s %s n, student(i).no, student(i).name, student(i).sex, student(i).tel);end7.该函数用来训练结构体嵌套function pjz()%输入学生的姓名和三科成绩,主要用结构体嵌套disp(退出请在姓名处输入$!)i=0;flag=1;while flag=1 i=i+1; fprintf(请输入姓名:); student(i).name= input(); if getfield(student,i,name)=$ break; end fprintf(请输入语文成绩:); student(i).score.chi=input(); fprintf(请输入数学成绩:); student(i).score.num= input(); fprintf(请输入英语成绩:); student(i).score.eng=input(); student(i).score.pjf= (student(i).score.num+student(i).score.chi+s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论