当前位置:文档之家› 三节点三角形单元matlab编程

三节点三角形单元matlab编程

三节点三角形单元matlab编程
三节点三角形单元matlab编程

实验二 Matlab程序设计基本方法1

实验二Matlab程序设计基本方法 覃照乘自092 电气工程学院 一、实验目的: 1、熟悉MATLAB 程序编辑与设计环境 2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识: ◆for循环结构 语法:for i=初值:增量:终值 语句1 …… 语句n end 说明:1.i=初值:终值,则增量为1。 2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。 ◆while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达 式的值为假,则程序执行end之后的语句。 2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位 置加break语句、以便程序能正常执行。(执行循环体的次数不确定; 每一次执行循环体后,一定会改变while后面所跟关系式的值。) 3、while循环也可以嵌套、其结构如下:

while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 end ◆if-else-end分支结构 if 表达式1 语句1 else if 表达式2(可选) 语句2 else(可选) 语句3 end end 说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。 2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。 3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。 ◆switch-case结构 语法:switch表达式 case常量表达式1 语句组1 case常量表达式2 语句组2 …… otherwise 语句组n end

实验3MATLAB程序设计

1,编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。 x=input('请输入一个整数x:'); if myprime(x) disp('您输入的整数x是一个素数。') else disp('您输入的数x不是一个素数。') end function y=myprime(x) y=1; for i=2:fix(sqrt(x)) if mod(x,i)==0 y=0; end end 2,编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007 中零的总个数。 function num=number0(a) %统计十进制数值中0的个数 sa=num2str(a);%将数值装化为字符串 num=length(find(sa=='0'));% ));%求取字符串中'0’的个数 y=0;

for a=1:2006 num=number0(a); y=num+y; end disp(y) 504 3,编写程序计算x∈[-3,3],字长0.01:并画出曲线x = -3:0.01:3; y=zeros(size(x)); for i = 1:length(x) if -3<= x(i)& x(i)<=-1 y(i)=(-x(i).^2-4*x(i)-3)/ 2; elseif -1<= x(i) & x(i)<=1 y(i)=-x(i).^2+1; elseif 1<=x(:,i)<=3 y(i)=(-x(i).^2+4*x(i)-3)/2; end end plot(x,y) -3-2-10123

刘卫国版MATLAB程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MATLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 : 2. MATLAB R2007a 仿真软件 三、实验原理 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 ¥ 对系统频率特性的分析

Matlab程序设计实验报告

实验七Matlab 程序设计 实验目的: 1、掌握建立和执行M 文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1. 编写用 5 次多项式拟合函数y=sin(x), x [0, 2 ]的脚本M 文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y, 'b' ,x1,y1, '*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2. 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 1.8001 Columns 21 through 30 4.0 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0 6.2000 y1 = Columns 1 through 10 0.29 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

D实验五 M文件和MATLAB程序设计

实验五M文件和MATLAB程序设计 一、实验目的 matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。 1.掌握M文件的使用方法。 2.掌握if语句和switch语句的使用 3. 掌握循环语句的使用 4. 通过练习理解MATLAB编程方法。 二、实验原理 1.m文件 用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file)。区别? 2.程序控制结构 1)顺序结构 2)选择结构 (1)if语句a) 单分支if语句b) 双分支if语句c) 多分支if语句 (2)switch 语句 (3)try语句 3)循环结构 (1)for 语句 (2)while语句 (3)break语句、continue语句、return使用,区别? 3.函数文件 function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意事项? 三、实验要求 1.首先上机练习PPT中各种流程控制语句的有关实例。 2.然后上机练习下面的实验习题。 四、实验习题

1.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1 运行下面的程序,按程序提示输入n=1,2,3,5,7,8,9等数来验证这一结论。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0 n=n/2; else n=3*n+1; end a=[a,n]; end a end Enter n,negative quits: 2. 编程求满足∑=>m i i 11000020的最小m 值。 a=0; i=1; while (a<100000) a=a+pow2(i); i=i+1; end m=i-1 3. 编写一个函数,计算下面函数的值,给出x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x)

实验二 MATLAB程序设计

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 21 421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y 的值。 5. (Root Mean Square)的计算公式为:

MATLAB程序设计与应用(第二版)实验参考答案

MATLAB程序设计与应用(第二版)实验参考答案 %实验一MATLAB运算基础 %第一题ftp://192.168.0.143/ %(1) z1=2*sin(85*pi/180)/(1+exp(2))ftp://192.168.0.143/ %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2))ftp://192.168.0.143/ %(3) a=-3.0:0.1:3.0;ftp://192.168.0.143/ z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3) %第二题 A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; A+6*B A-B+eye(size(A)) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2] %第三题 A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] C=A*B F=size(C) D=C(F(1)-2:F(1),F(2)-1:F(2)) whos %第四题 %(1): A=100:999; B=rem(A,21); C=length(find(B==0)) %(2): A='lsdhKSDLKklsdkl';

实验3 Matlab程序设计1实验报告

Tutorial3 实验报告 实验名称:Matlab 程序设计1 实验目的: 1、 掌握建立和执行脚本和函数文件的方法; 2、 掌握实现选择结构的方法; 3、 掌握实现循环结构的方法。 实验内容: 1. 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然 后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换 要求:函数实现 2. 求分段函数的值。 ,x x x x y x x x x x x x ?+- <≠-? =-+ ≤<≠≠??-- ?222 6035605231且且及其他 用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。 要求:脚本实现 3. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E ,其中90~100分为A ,80~89 分为B ,70~79分为C ,60~69分为D ,60分以下为E 。 要求: (1)分别用if 语句和swich 语句实现。 (2)函数实现 4. 硅谷公司员工的工资计算方法如下: (1) 工作时数超过120小时者,超过部分加发15%;

(2)工作时数低于60小时者,扣发700元; (3)其余按每小时84元计发。 试编程按输入的工号和该号员工的工时数,计算应发工资。 要求:函数实现 5.设计程序,完成两位数的加、减、乘、除四则运算。即:输入两个两位随机整数,再输 入一个运算符号,做相应的运算,并显示相应的结果。 要求:函数实现 6.产生20个两位随机整数,输出其中小于平均数的偶数。 要求:脚本实现 7.根据 111 1 3521 y n =++++ - ,求: (1)y<3时的最大n值。 (2)与(1)的n值对应的y值。 要求:脚本实现 8.写出下列程序的运行结果 s = 0; a = [12,13,14;15,16,17;18,19,20;21,22,23]; for k = a for j = 1:4 if rem(k(j),2)~=0 s = s +k(j); end end

实验二 MATLAB程序设计(含实验报告)

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1.通过实验熟悉MATLAB仿真软件的使用方法; 2.掌握用MATLAB寸连续信号时域分析、频域分析和s域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3.掌握用MATLAB寸离散信号时域分析、频域分析和z域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4.通过绘制信号运算结果的波形,了解这些信号运算寸信号所起的作用。 二、实验设备 1. 计算机 2. MATLAB R2007a 仿真软件 三、实验原理 寸系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1 )信号的相加和相乘:已知信号f1 (t)和f2 (t),信号相加和相乘记为 f(t) f1(t) f2(t);f(t) f1(t) f2(t)。 (2)信号的微分和积分:寸于连续时间信号,其微分运算是用diff 函数来完成的,其 语句格式为:diff(function, 'variable ',n) ,其中function 表示需要进行求导运算的信 号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function, ' variable ' ,a,b) ,其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a和b省略时为求不 定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信 号不会改变信号f(t)的面积和能量。信号的尺度变换是对信号f(t)在时间轴上的变化,可 使信号压缩或扩展。f(at)将原波形压缩a倍,f(t/a)将原波形扩大a倍。 寸系统频率特性的分析 (1)系统的频率响应

实验五MATLAB 程序设计

实验五MATLAB 程序设计 一、实验目的 掌握 MATLAB程序设计的主要方法,熟练编写 MATLAB函数。 二、实验内容 (1)M文件的编辑。 (2) 程序流程控制结构。 (3) 子函数调用和参数传递。 (4) 局部变量和全局变量。 三、实验步骤 1. M文件的编辑 2. 程序流程控制结构 1) for循环结构 2) while 循环结构 3) i f-else-end分支结构 4) switch-case结构 3. 子函数和参数传递 4. 局部变量和全局变量 四、实验内容 s=0; for n=1:100 s=s+n; end s s = 5050 function s=exp2(x) s=0; for n=1:x s=s+n; end >>clear >>s=exp2(100) s = 5050 for n=1:10 n end n = 1

n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 n=10:-1:5 for i=n i end n = 10 9 8 7 6 5 i = 10 i = 9 i = 8 i = 7 i = 6 i = 5 clear,clc; x=1; while 1 x=x*2 end x = Inf .......................

练习:(1) 请把exp2.m 函数文件用while 循环改写。 (2) 用π /4≈1-1/3+1/5-1/7+…公式求π的近似值,直到最后一项的绝对值小于10-6 为止,试编写其M脚本文件。 q=input('输入一个自然数:m='); s=0;x=1; while x<=q s=s+x; x=x+1; end S s=1; k=1; n=1; while(k*(-1)^(n+1)>10^(-6)) k=k*(1-2*n)/(1+2*n); s=s+k; n=n+1; end s*4 s=0; n=1; while (abs((-1)^(n-1)/(2*n-1))>10^(-6)) m=(-1)^(n-1)/(2*n-1); s=s+m; n=n+1; end 4*s n=input('n='); if isempty(n) error('please input n') end switch mod(n,2) case 1 A='奇数' case 0 A='偶数' end n=4 A = 偶数

MATLAB程序设计实验

科学计算与数据处理实验报告

plot(data); 运行结果: 保存后选择debug/run菜单或按F5键运行,观察workspace中多出了一个变量data。 b)编写函数stderr验误差 function err=stderr(arr) %实验误差(标准差估计)evaluate along each column of arr err=std(arr)./sqrt(size(arr,1)-1); 文件存为stderr.m, 运行时输入a=[1;2;3];建立一个列数组a, 然后输入stderr(a)则给出a的方差 运行结果:

2、编写程序演示循环(for、while)、分支(if-else-end、switch-case)和 异常处理(try-catch)控制结构的用法,并尽量体现各种关系运算符(==、~=、<、>、<=、>=)的用法。 a)演示循环(for、while) For循环 >> %for循环 sum1=0;sum2=0; n=input('请输入一个数:') >> if n<2 disp('输入的数大于等于3') else

for i=1:n sum1=sum1+1 sum2=sum2+2 end end 运行结果: While循环 >> %while循环 sum11=0;sum22=0; n=input('请输入一个数:') >> if n<2 disp('输入的数大于等于3')

while n>=0 sum11=sum11+1 sum22=sum22+2 n=n-1 end end 运行结果: b)分支(if-else-end、switch-case) if-else-end分支结构: >> %if-else-end分支: a=input('请输入一个数字:')

实验三MATLAB程序设计

2014秋2012级《MATLAB程序设计》实验报告班级:软件C121姓名:冯杨腾学号:125692 实验三 MATLAB程序设计 一、实验目的 1、掌握建立和执行M文件的方法。 2、掌握选择结构、多分支选择结构程序的编程方法。 3、掌握多种循环结构程序的编程方法。 4、掌握定义函数文件和调用函数文件的方法。 二、实验内容 1、MATLAB M文件的创建与使用。 (1)建立自己工作目录,如D:\MATLAB。在File菜单中,单击 Set Path菜单项,在弹出对话框中建立目标文件夹,:单击Add Folder按钮,将自己的工作目录D:\MATLAB添加到搜索目录 之中,按Save按钮保存,如图1。 图1 工作目录设置 (2)在M文件编辑器中编制命令行文件。在File菜单中,单击 New—>M-File,弹出M文件编辑器,如图2:

图2 编辑器 在编辑器中输入如下命令程序: %求小于2000且为2的整数次幂的正整数。 f(1)=2; k=1; while f(k)<1000 f(k+1)=f(k)*2; k=k+1; end f,k 调试后,将其以test1.m形式保存在D:\MATLAB中。 (3)命令行程序运行。进入命令窗口,键入test1,观察运行结果: f = Columns 1 through 9 2 4 8 16 32 64 128 256 512 Column 10 1024 k = 10 (4)按上述步骤,在在编辑器中输入如下函数文件:

function f=tt(n) %求小于任何正整数且为2的整数次幂的正整数。 %c=n(n) %n 可取任意正整数。 %2004年8月。 f(1)=2; k=1; while f(k)> test2(9) f = 2 4 8 ans = 2 4 8 2、编写一个函数M 文件,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。 sin , (), 036,3 x x y x x x x x ≤??=<≤??-+>? 选择一些数据测试编写的函数。 源程序 :

Matlab程序设计实验报告

实验七Matlab程序设计 实验目的: 1、掌握建立和执行M文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1.编写用5次多项式拟合函数y=sin(x), x∈[0, 2π]的脚本M文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y,'b',x1,y1,'*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2.0000 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 3.8000 Columns 21 through 30 4.0000 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0000 6.2000 y1 = Columns 1 through 10 0.0029 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

实验七 MATLAB程序设计IV

实验七 MATLAB 程序设计IV 学号 班级姓名指导教师实验题目 MATLAB 程序设计IV 评分 一、实验目的掌握MATLAB 软件的if 、switch 、for 等程序设计命令。 二、实验内容 1、编写一个函数,要求实现以下功能: ◆当输入一个参数时,计算它的平方 ◆当输入两个参数时,计算它们的平方的和 ◆当输入参数超过三个时,输入错误信息,并返回 2、首先由计算机随机产生一个[1,100]之间的一个整数,然后由用户猜测所产生的这个数。根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示High ,小于则显示Low ,等于则显示You win !,同时退出游戏。用户最多有7次机会。 3、编写一个函数文件,求小于任意自然数n 的斐波那契(Fibnacci)数列各项。斐波那契数列定义如下: ?????≥+=====--3,2,11,12121n f f f n f n f n n n 4、编写一个函数文件,用于求两个矩阵的乘机和点乘,然后在命令窗口中调用该函数。 5、先用函数的递归调用定义一个函数文件求∑=n i m i 1,然后调用该函数文件求 ∑∑∑===++10 1501210011k k k k k k 10、写出下列程序的输出结果。 (1)s=0; a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4 if rem(k(j),2)~=0 s=s+k(j); end end end s (2)命令文件exe.m global x

x=1:2:5;y=2:2:6; sub(y); x y 函数文件sub.m: function fun=sub(z) global x z=3*x; x=x+z; 三、实验过程 四、实验总结

2016秋2014级MATLAB程序设计实验指导书

2016秋2014级《MATLAB程序设计》实验指导书 实验一MATLAB的基本功能 一、实验目的 1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。 2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。 4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容 1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。 图1 MATLAB工作桌面 2、MATLAB的常用命令与系统帮助: (1)系统帮助 help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。 lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入

lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需的命令後,即可用help进一步找出其用法。 (2)数据显示格式: 常用命令:说明 format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示 (3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。 具体用法如下: ↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4)MATLAB工作区常用命令: who--------显示当前工作区中所有用户变量名 whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容 clear -----清除工作区中用户定义的所有变量 save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据

MATLAB程序设计实验

系立项建设 实验指导书 MATLAB程序设计与应用实验主编:王春、段守付 物理与电子信息工程系

目录 前言1 实验一熟悉MATLAB 环境2 实验二数值数组创建、应用及可视化6 实验三字符串数组的使用、简单脚本文件和函数的编写10实验四数据可视化方法17 实验五简单数据分析23 实验六 MATLAB 仿真初步27 实验七电路模型仿真应用30 实验八简单图形用户界面设计32 附录:MATLAB 主要函数指令表(按字母顺序索引)35

前言 美国MathWorks公司推出的MATLAB是一种集数值计算、符号、运算、可视化建模、仿真和图形处理等多种功能于一体的优秀编程、仿真工具,被誉为“巨人肩膀上的工具”、“演算纸式的编程语言”,是从事科学研究、工程计算的广大科技工作者、理工类高校师生确认为必须掌握的计算工具,是从理论通向实际的桥梁,也是最可信赖的科技资源之一。 为了配合学生上机实践,更好掌握MATLAB 的基本使用技能,了解MATLAB 的编程风格,以及将所学课程与MATLAB 实践相结合,特别编写了本实验讲义。其主要内容包括:MATLAB 入门及基本操作,数组、矩阵的使用及数据可视化方法,脚步文件及函数的编写,以及仿真、图形用户界面入门等。MATLAB 内容丰富,内嵌了许多功能函数。 为了方便课堂教学使用,也顾及查阅功能,在书后的索引中按照字母顺序对常见MATLAB 函数进行了分类,以备读者查阅需要。 本书编写由王春、段守付完成。 由于编者水平有限,书中难免存在不妥之处,恳请广大读者指正。同时,我们也会在适当时间进行修订和补充。

实验一熟悉MATLAB 环境 [实验目的] 1.熟悉MATLAB 主界面,并学会简单的菜单操作。 2.学会简单的矩阵输入与信号输入。 3.掌握部分绘图函数。 [实验原理] MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。 用户第一次使用MATLAB 时,建议首先在屏幕上键入demo 命令,它将启动MATLAB 的演试程序,用户可在此演示程序中领略MATLAB 所提供的强大的运算与绘图功能。也可以键入help 进行进一步了解。MATLAB 启动界面如图所示: 操作界面主要的介绍如下: 指令窗(Command Window),在该窗可键入各种送给MATLAB 运作的指令、函数、表达

MATLAB程序设计实验6报告

MATLAB 程序设计实验6 解方程和最优化问题求解 一.实验目的 1. 掌握线性方程组的数值求解方法。 2. 掌握常微分方程的数值求解方法。 3. 掌握非线性方程以及最优化问题的求解方法。 二.实验内容 1. 对下列线性病态方程组: 1231/21/31/40.951/31/41/50.671/41/51/60.52x x x ????????????=?????????????????? a) 求方程组的解。 >> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; >> b=[0.95,0.67,0.52]'; >> x=A\b x = 1.2000 0.6000 0.6000 b) 将方程组右边的向量元素b 3(0.52)修改为0.53,再次求方程组的解。比较b 3的 变化和解的相对变化。 >> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.53]'; x=A\b x = 3.0000 -6.6000 6.6000 c) 求系数矩阵的条件数,并分析条件数对线性方程组求解的影响。 2. 求方程的解。 a) 413010,1x x x ++==-

函数文件:funx.m function fx=funx(x) fx=x^41+x^3+1; 调用: >> z=fzero(@funx,-1) z = -0.9525 b) 0sin 0,0.5x x x x - == 函数文件funx.m function fx=funx(x) fx=x-sin(x)./x; >> z=fzero(@funx,0.5) z = 0.8767 c)23 sin ln 70321050 y x y z x z x y z ?++-=?+-+=??++-=? ,0001 11x y z =??=??=? 函数文件:funx.m >> z=fzero(@funx,0.5) z = 0.8767 调用函数: >> options=optimset('Display','off'); >> x=fsolve(@funx,[1,1,1]',options) x = 0.5991 2.3959 2.0050 3. 求常微分方程的数值解。 a) ()' 1.2sin100y t y ++=,()000,5,1f t t y t === 函数文件: function yp=funx(t,y) yp=-(1.2+sin(10*t)).*y;

实验三MATLAB程序设计并且附有答案

实验三(1)、MATLAB程序设计 一、实验目的 1、掌握建立和执行M文件的方法 2、掌握利用if语句和switch语句实现选择结构的方法 二、实验内容及步骤 1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。 其中90分~100分为A,80分~89分为B,70分~79为C, 60分~69分为D,60分以下为E。 要求:1)分别用if语句和switch语句实现a=input('please input the score:'); if mod(a,==0 &a>=0&a<=100; switch (floor(a/10)) case 9 disp('A'); case 8 disp('B'); case 7 disp('C'); case 6 disp('D'); otherwise disp('E'); end else disp('输入的成绩不合理') end double x; x=input('Input x please:'); if mod(x,~=0 || x>100 || x<0 disp('ê?è?μ?3é?¨2?o?àí'); elseif x>=90 & x<=100 disp('A'); elseif x>=80 & x<=89 disp('B'); elseif x>=70 & x<=79 disp('C'); elseif x>=60 & x<=69 disp('D'); elseif x>=0 & x<60

disp('E'); end 2)对不合理的成绩应输出出错信息“输入的成绩不 合理”(若成绩出现小数,则只能是“.5”) 2、设计程序,完成两位数的加、减、乘、除四则运算,即产 生两个两位随机整数,再输入一个运算符号,做相应的运 算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。 x=randint(1,1,[10 99]);或者x=round(rand(1)*100) y=randint(1,1,[10 99]);或者y=round(rand(1)*100) disp(['x=',num2str(x)]); disp(['y=',num2str(y)]); A=input('请输入一个运算符号:','s'); %书上114页有说明switch(A) case '+' a=x+y; disp(['a=x+y=',num2str(a)]); case '-' a=x-y;disp(['a=x-y=',num2str(a)]); case '*' a=x*y;disp(['a=x*y=',num2str(a)]); case '/' a=x/y;disp(['a=x/y=',num2str(a)]); end 3、求下列分段函数的值 2 2 2 6,0 56, 1, y χχχχ χχχχχ χχ ?+-<≠ ? =-+≤≠≠? ?-- ? 且-3 0<10,2且3 其他 要求:用if语句实现,分别输出x = ,,,,,,时的y值。其中

相关主题
文本预览
相关文档 最新文档