计算物理matlab简介中的编程
matlab计算物理

Matlab是一个非常强大的科学计算和数据处理软件,广泛应用于物理学,特别是理论物理、粒子物理和计算物理等领域。
下面是一些Matlab在计算物理中的一些常见应用:
1. **数值积分和微分**:对于复杂的积分和微分问题,可以使用Matlab中的数值方法(如辛普森法则,高斯积分等)进行求解。
2. **求解方程和方程组**:Matlab的符号计算工具箱可以用来求解复杂的方程和方程组。
3. **模拟和可视化**:Matlab可以用来模拟各种物理过程,如粒子运动,波动传播等,并且可以很方便地可视化结果。
4. **数据分析**:Matlab提供了强大的数据分析和可视化工具,可以用来处理和分析实验数据。
5. **随机过程和蒙特卡洛模拟**:对于一些不能直接求解的问题,可以使用蒙特卡洛模拟的方法来求解,例如计算复杂系统的平均行为等。
6. **物理场和波函数的模拟**:在量子力学中,波函数是一个非常重要的概念。
Matlab可以用来模拟波函数的演化,例如在势阱中的粒子波函数的演化等。
7. **图像处理**:在光学和光子学中,图像处理是一个重要的应用。
Matlab提供了强大的图像处理工具箱,可以用来处理和分析图像。
以上只是一些例子,实际上Matlab在计算物理中的应用非常广泛,具体应用会根据问题的性质和要求有所不同。
MATLAB 语言在物理中的应用

有趣的指令
安装MATLAB后,直接在命令窗口内的提示符号 “>>”之后输入下列指令: 检查版本
version ver
测试电脑速度:bench
使用变量与基本运算
一般数学符号运算
在MATLAB命令视窗内的 提示符号(>>)之后输 入运算式,并按入Enter 键即可:
>> (5*2+3.5)/5
>> y = (5*2+3.5)/5; %将运算结果储存在变量y,但不用显示
>> z = y^2
%将运算结果储存在变量z,并显示
z=
7.2900
向量与矩阵的处理
MATLAB中的变量还可用来储存向量 (Vectors)及矩阵(Matrix),以进行各种 运算,例如:
>> s = [1 3 5 2]; >> t = 2*s+1 t=
>> t(4) = [] t=
372
计算方法
例:求解一个n 阶线性方程组,如果使用克莱姆法则,需
要计算n+1 个n 阶行列式,在不计加减运算情况下,至少 需要n!(n2-1) 次乘除运算。而使用高斯消去法,只需约 2n3/3 次乘除运算
当n=20时, 20! (202 1) 9.7 1020
用每秒运算 30 亿次(主频3.0G)的计算机求解时, 大约需要10000年的时间
程序 设计
上机 实现
计算方法的任务
计算方法/数值分析的任务
设计求解各种实际问题的高效可靠的数值方法 有效:易于在计算机上实现 可靠:收敛性稳定性等有理论保证 高效:尽可能地节省计算时间和存储空间
对求得的数值解的精度进行评估 研究数值算法在计算机上的实现
适合用matlab解决的经典物理例题

适合用Matlab解决的经典物理例题在物理学领域,经典物理例题一直是学习和研究的重要内容。
而Matlab作为一种强大的数学软件,非常适合解决各种物理问题。
本文将从力学、电磁学和热力学等多个方面,选取一些经典的物理例题,通过Matlab进行分析和求解,展示Matlab在解决物理问题时的强大用途。
1. 简谐振动问题简谐振动是物理学中一个重要的模型,涉及到弹簧振子、单摆等问题。
通过Matlab可以很方便地求解简谐振动的运动规律。
对于弹簧振子的运动方程,可以通过Matlab进行数值模拟,得到振动的周期、频率、位移等参数,从而更好地理解简谐振动的特性。
2. 电场问题在电磁学中,电场是一个重要的研究对象。
通过Matlab可以很容易地分析不同形状的电荷分布所产生的电场分布。
可以通过Matlab计算出点电荷、均匀带电细棒等情况下的电场分布,并绘制出电场线图,直观地展现电场的分布规律。
这样的分析对于理解电场的性质和相互作用具有重要意义。
3. 热传导问题热传导是热力学研究的一个重要方面,涉及到导热方程的求解和热量分布的分析。
通过Matlab可以对不同材料和形状的热传导问题进行数值模拟和求解。
可以通过Matlab计算出棒状材料中的温度分布随时间的演化,从而得到材料的热传导性能。
这样的分析对于工程实践中的热设计和材料选型具有重要指导意义。
4. 万有引力问题在力学中,万有引力是一个经典的例题,涉及到行星轨道、卫星运动等问题。
通过Matlab可以很方便地进行万有引力场下的物体运动模拟。
可以通过Matlab计算地球和月球的引力作用下的月球轨道,从而揭示天体运动的规律和特性。
这样的模拟对于探索宇宙中天体运动规律具有重要帮助。
总结回顾:通过以上例题的分析,我们不仅了解了Matlab在经典物理例题中的应用,也可以发现Matlab在解决物理问题时的便捷和高效。
当然,实际物理问题可能具有更多的复杂性和多样性,需要结合理论分析和实验数据进行综合研究。
matlab ppt课件

它提供了大量的内置函数和工具箱,用于支持各种 领域的科学研究、工程设计和数据分析。
03
Matlab具有简单易学的语法和强大的计算能力,使 得非专业的编程人员也能够轻松地使用。
Matlab的发展历程
01 Matlab最初是由MathWorks公司于1980年代开 发的,作为一款商业数学软件。
02 经过多年的发展,Matlab的功能不断扩大和完善 ,逐渐成为一款成熟的科学计算软件。
1 2
矩阵运算
Matlab提供了丰富的矩阵运算功能,如矩阵乘 法、转置、逆等。
特征值与特征向量
Matlab可以方便地计算矩阵的特征值和特征向 量。
3
线性方程组求解
Matlab提供了多种求解线性方程组的方法,如 高斯消元法、LU分解等。
概率统计
随机数生成
01
Matlab可以生成各种散布的随机数,如正态散布、均匀散布、
最优化问题求解
最优化问题求解
Matlab提供了优化工具箱,可以对最优化问题进行求解,如线性 计划、非线性计划、束缚优化等。
最优化算法
Matlab支持多种最优化算法,如梯度降落法、牛顿法、遗传算法 等,可以根据问题类型选择合适的算法进行求解。
最优化应用
在生产调度、资源分配、金融优化等领域,Matlab广泛应用于最 优化问题的求解和分析。
数据分析
Matlab提供了各种数据分析工 具和机器学习算法,支持数据 发掘和猜测分析。
金融分析
Matlab在金融领域也得到了广 泛应用,支持风险评估和投资 组合优化等。
02
Matlab基础操作
变量与数据类型
01
变量命名规则
数据类型
02
03
matlab计算物理

matlab计算物理摘要:一、引言1.MATLAB 的介绍2.MATLAB 在计算物理中的应用二、MATLAB 的基本操作和语法1.MATLAB 的数据类型2.MATLAB 的基本操作符3.MATLAB 的函数与脚本三、MATLAB 在物理计算中的应用1.力学a.牛顿第二定律的求解b.弹簧振子的运动2.电磁学a.库仑定律的计算b.电场和磁场的计算3.热力学a.热力学方程的求解b.热力学过程的模拟四、MATLAB 与其他软件的联合应用1.MATLAB 与Mathematica 的联合使用2.MATLAB 与Python 的联合使用五、MATLAB 在物理教学中的应用1.教学演示2.学生实践六、结论1.MATLAB 在计算物理中的优势2.MATLAB 在物理研究和教学中的前景正文:MATLAB 是一种广泛应用于科学计算和工程设计的编程语言。
近年来,随着其在计算物理领域的不断深入应用,MATLAB 已成为物理学家和工程师必备的工具之一。
本文将简要介绍MATLAB 的基本操作和语法,重点阐述其在物理计算中的应用,以及与其他软件的联合使用。
首先,我们来了解一下MATLAB 的基本操作和语法。
MATLAB 的数据类型主要有两种:数值型和字符型。
数值型包括整数、浮点数和复数,字符型用于表示字符串。
MATLAB 的基本操作符包括算术、逻辑、关系和位操作等。
此外,MATLAB 还提供了丰富的内置函数和自定义函数,用户可以通过编写脚本实现复杂数学计算和数据处理。
在物理计算领域,MATLAB 具有广泛的应用。
力学方面,MATLAB 可以用于求解牛顿第二定律的微分方程,以及模拟弹簧振子的运动等。
电磁学方面,MATLAB 可以用于计算库仑定律的电场和磁场,以及分析电磁波的传播等。
热力学方面,MATLAB 可以用于求解热力学方程,模拟热力学过程等。
为了提高计算效率和精度,MATLAB 可以与其他软件进行联合应用。
例如,MATLAB 与Mathematica 可以相互调用,实现复杂数学计算和图形绘制。
Matlab技术在物理建模和数值计算中的应用

Matlab技术在物理建模和数值计算中的应用近年来,Matlab成为了物理学研究和数值计算的重要工具。
其强大的数据处理和可视化能力以及灵活的编程语言,为物理建模和数值计算提供了极大的便利。
本文将探讨Matlab技术在物理建模和数值计算中的应用,并展示其在不同领域中的实际案例。
一、物理建模物理建模是物理学研究的关键步骤,它通过建立数学模型来描述和解释自然现象。
Matlab作为一种高效的数学计算工具,可以帮助研究人员快速地进行物理建模,并对模型进行分析和优化。
例如,在光学领域,研究人员经常使用Matlab来建立光传输模型。
他们可以基于光的传输方程和介质的光学性质,编写Matlab程序来计算和可视化光在不同介质中的传播路径和强度分布。
这种建模和仿真的方法可以帮助研究人员理解光的传输机制,并为光学器件设计提供指导。
在力学领域,物理建模可以用于模拟和分析复杂的物体运动。
例如,研究人员可以使用Matlab的刚体运动模型来研究机器人的动力学特性。
他们可以通过在Matlab中定义机器人的几何结构和关节运动,以及描述力和力矩的方程,来模拟机器人在不同任务下的运动轨迹和力学响应。
这种建模方法可以为机器人控制算法的开发和优化提供测试平台。
二、数值计算数值计算是物理学研究中的重要工具,它通过数值方法对物理问题进行近似求解。
Matlab提供了丰富的数值计算库和函数,使得研究人员能够高效地进行数值计算和分析。
在量子力学领域,研究人员常常使用Matlab进行量子系统的数值模拟和求解。
他们可以编写Matlab程序来求解薛定谔方程,从而获得量子系统的波函数和能谱。
这种数值求解的方法在研究纳米尺度物理系统以及量子信息领域具有重要的应用价值。
在流体力学领域,数值计算在流体流动的模拟和分析中起到关键作用。
研究人员可以使用Matlab的流体力学工具箱来建立流体模型,并通过数值方法求解雷诺方程等流体动力学方程。
这种基于Matlab的数值模拟方法可以帮助研究人员研究流体流动的行为、优化流体系统的设计,并解决与流体力学相关的实际问题。
不完全伽马函数的计算matlab编程

不完全伽玛函数是椭圆积分的一种特殊形式,它在数学和物理学中具有广泛的应用。
在数值计算和科学研究中,常常需要对不完全伽马函数进行计算和编程。
Matlab作为一种强大的科学计算软件,可以方便地进行不完全伽玛函数的计算和编程。
本文将介绍不完全伽玛函数的定义、计算方法以及在Matlab中的编程实现。
一、不完全伽玛函数的定义不完全伽玛函数是伽玛函数的一种推广形式,通常记作$γ(s, x)$。
不完全伽玛函数的定义如下:$$γ(s, x) = \int_0^x t^{s-1} e^{-t} dt$$其中,$s$为参数,$x$为变量。
二、不完全伽玛函数的计算方法不完全伽玛函数的计算通常采用数值积分的方法。
由于不完全伽玛函数的定义包含积分,因此无法进行解析求解,只能通过数值方法进行近似计算。
在Matlab中,可以利用数值积分函数`integral`对不完全伽玛函数进行计算。
具体的计算方法如下:1. 定义不完全伽玛函数的被积函数,即$ f(t) = t^{s-1} e^{-t} $。
2. 调用Matlab的`integral`函数进行数值积分,计算不完全伽玛函数的值。
下面是一个简单的Matlab程序示例,用于计算不完全伽玛函数$γ(s, x)$的值:```matlabfunction result = iplete_gamma(s, x)f = (t) t^(s-1) * exp(-t);result = integral(f, 0, x);end```在上面的示例中,我们定义了一个名为`iplete_gamma`的函数,用于计算不完全伽玛函数的值。
在函数中,我们首先定义了不完全伽玛函数的被积函数`f`,然后调用Matlab的`integral`函数进行数值积分。
我们得到了不完全伽玛函数的近似值。
三、不完全伽玛函数的应用不完全伽玛函数在数学、物理学和工程学中具有广泛的应用。
它常常出现在概率论、统计学、热力学等领域的问题中。
matlab计算物理

matlab计算物理【原创版】目录1.MATLAB 简介2.MATLAB 在物理学中的应用3.MATLAB 的优点4.如何学习和使用 MATLAB5.总结正文一、MATLAB 简介MATLAB 是一种广泛应用于科学计算和工程设计的编程语言。
它被广泛应用于各个领域,包括物理学、数学、工程学等。
MATLAB 的最大特点是它的矩阵计算能力,使得它在处理大量的数据时具有非常高的效率。
二、MATLAB 在物理学中的应用在物理学中,MATLAB 可以用于许多物理现象的模拟和计算。
例如,它可以用于模拟电磁场、计算流体力学、模拟量子物理现象等。
通过MATLAB,物理学家可以更方便地进行数据分析和模型构建。
三、MATLAB 的优点MATLAB 有以下几个优点:1.高效的矩阵计算能力:MATLAB 的矩阵计算能力非常强大,可以处理大量的数据。
2.丰富的函数库:MATLAB 有丰富的函数库,包括数学、统计、图像处理等多个领域。
3.易于学习和使用:MATLAB 的语法简单,易于上手。
四、如何学习和使用 MATLAB如果你想学习和使用 MATLAB,可以按照以下步骤进行:1.下载并安装 MATLAB:你可以在 MATLAB 的官方网站上下载并安装MATLAB。
2.学习 MATLAB 的基本语法:你可以通过阅读 MATLAB 的官方文档或参加 MATLAB 的培训课程来学习 MATLAB 的基本语法。
3.练习 MATLAB 编程:你可以通过编写一些简单的程序来熟悉MATLAB 的编程环境。
4.应用 MATLAB 进行物理计算:你可以使用 MATLAB 的函数库进行物理计算,例如使用 MATLAB 进行数据分析、模拟物理现象等。
五、总结总的来说,MATLAB 是一种非常强大的科学计算工具,它在物理学中的应用非常广泛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例1:计算》2*(300-2*i)^2+1/sqrt(5+2*i)ans = 1.7999e+005 -2.4001e+003i例2:解三角方程cos 2x + sin x = 1》s = solve('cos(2*x)+sin(x)=1')s =pi1/6*pi5/6*pi例3:解三次方程x3-2x2 = x-1》s=solve( 'x ^ 3 - 2 * x ^ 2 = x - 1')s =1/6*(28+84*i*3^(1/2))^(1/3)+14/3/(28+84*i*3^(1/2))^(1/3)+2/3-1/12*(28+84*i*3^(1/2))^(1/3)-7/3/(28+84*i*3^(1/2))^(1/3)+2/3+1/2*i*3^(1/2)*(1/6*(28+84*i*3 ^(1/2))^(1/3)-14/3/(28+84*i*3^(1/2))^(1/3))-1/12*(28+84*i*3^(1/2))^(1/3)-7/3/(28+84*i*3^(1/2))^(1/3)+2/3-1/2*i*3^(1/2)*(1/6*(28+84*i*3 ^(1/2))^(1/3)-14/3/(28+84*i*3^(1/2))^(1/3))由于solve将所有的数值都当作符号计算,需简化,用指令vpa(S,D)S表示要替换的对象,D表示要用几位数字。
vpa(s,5)ans =2.2470+.1e-4*i-.80192+0.*i.55498+0.*i例4:解方程ax2 + bx + c = 0>> syms a b c x>> f=a*x^2+b*x+c;>> solve(f)ans =1/2/a*(-b+(b^2-4*a*c)^(1/2))1/2/a*(-b-(b^2-4*a*c)^(1/2))solve默认x作为求解的变量,但也可指定变量求解>> solve(f,b)ans =-(a*x^2+c)/x例5:解非线性方程组(课本中的电阻题)>> syms x y z r1 r2 r3[x,y,z] = solve(1/x+1/(y+z)-1/r1,1/y+1/(z+x)-1/r2,1/z+1/(x+y)-1/r3)x =-1/2*(r3^2-2*r2*r1-2*r1*r3-2*r2*r3+r2^2+r1^2)/(-r1+r3+r2)y =-1/2*(r3^2-2*r2*r1-2*r1*r3-2*r2*r3+r2^2+r1^2)/(r3+r1-r2)z =1/2*(r3^2-2*r2*r1-2*r1*r3-2*r2*r3+r2^2+r1^2)/(r3-r1-r2)例6:解常微分方程dsolve('Dx=-a*x')ans =C1*exp(-a*t)例7:画图>> x=0:0.1:6;A=[x;4*x];B=sin(A);>> plot(x,B(1,:),x,B(2,:))将B(1)中所有的负值换成正值画图a=find(B(1,:)<0);>> B(1,a)=abs(B(1,a));>> plot(x,B(1,:),'r-.*')也可将Plot改成cometcomet(x,B(1,:))例8:运行程序ballodefuntooltaylortooldemo例9:数据显示不同a=23.456;A=23.568974123;format short>> format long例10:数值计算误差1/3连续乘300次,选用不同的数据显示,结果不同>> A=0;for k=1:300,A=A+1/3;end>> format short,AA =100.0000>> format long,AA =99.99999999999966将A再连续减1/3共300次,看结果>> for k=1:300,A=A-1/3;end>> AA =-6.994405055138486e-015>> B=sqrt(A)B =0 +8.363255977870393e-008i>>例1:向量的生成>>a=[3, 5, 7, 8]>>a=[3 5 7 8]>>a=[3; 5; 7; 8]>>b=a'>>c=1:2:13>>d=linspace(0,2*pi,20)>>logspace(1,3,50)例2:矩阵的生成>> A=[2,4,5; 9, 7,1]>> zeros(2,4)>> ones(3,5)>> rand(3,50)等等,书上例举了一些>> eye(2,3)>> magic(4)>> cell(3,4)>> diag(1,3)>> a=[3, 5, 7, 8];diag(a)>> a=[3, 5, 7, 8];diag(a,-2)>>diag(-4:4)+diag(ones(2*4,1),1)+diag(ones(2*4,1),-1)例3:矩阵的合并与删除>> A = [1 2 3; 4 5 6];[A,A]>> [A;A]>> B=A;B(2,:) = [ ]>> A(:,3) = [ ]%专门对矩阵进行修改的指令repmat 将矩阵按指令的行数或列数排列reshape 将矩阵中的所有元素按新指定的行与列重新排列flipud 将矩阵上下翻转fliplr 将矩阵左右翻转rot90 将矩阵逆时针转90度例4:矩阵的运算>> A=[ 1 1 1 ; 2 2 2 ; 3 3 3 ];A+A>> A-A>> A*A>> A.*A>> A^2>> A.^2左除和右除>> A=[2, 8, 10; 11, 3, 7; 6, 9, 4 ];B=[12, 9, 4; 5, 2, 21; 8, 4, 6];C=A*B;>> A\C>> C/B>> A = [ 3 5 -7; 2 -12 3; -1 9 8 ];b = [ 34; -56; 27];x = A\b标记书中常用的矩阵运算指令一、看数据网格、基元列阵、结构数组二、补充函数的定义inline %inline是用来定义内联函数的,比如说:y=inline('cos(x.^2).^2 + theta','x','theta') ;>> y(3,2.1)ans =2.9302y=inline('sin(x)','x') %第一个参数是表达式,第二个参数是函数变量y(0) %计算sin(0)的值y(pi) %计算sin(pi)的值q=quad(y,0,1); %计算sin(x) 在0到1上的积分三、流程控制1:循环语句的例子例1:编写一个对数表,不恰当的做法是x=0;for k=1:1001y(k)=log10(x);x=x+0.01;end矢量化编程:x=0:0.01:10;y=log10(x);例2:画图形sin(n*pi*x) 其中(n=1,2,3,4; x=0:0.001:1)x=[0:0.001:1];y=sin(pi*[1:4]'*x);plot(x,y)例3:双缝干涉clear allym=1.25; %屏上观测点离中心的最大距离y=linspace(-ym,ym,101); %屏上取101个观测点d=2; %两个光源距离z=1000; %屏到缝的距离lambda=5e-4; %设置光的波长L1=sqrt((y-1).^2+z^2); %屏上一点到两个光源的距离L2=sqrt((y+1).^2+z^2);phi=2*pi*(L1-L2)/lambda; %计算相位差I=4*(cos(phi/2)).^2; %利用相位差计算光强subplot(2,1,1)plot(y,I) %用曲线表示干涉条纹axis([-1.25 1.25 0 4])subplot(2,1,2)B=I*255/5; %定标取255个级别,使I/5对应最亮%5控制亮的范围,可调image(B); %用颜色显示矩阵元素而形成图像colormap(gray(255)); %用灰度级别显示图案,可改成pink%imshow和image: 图像的显示是最为重要的,用imshow和image都可以显示图像,但是有一定的区别。
%用的不对,就会象我最初一样,老是出错,或者得到一张空白图或者是彩色图显示成颗粒状、反相黑白图等等。
%image是用来显示附标图像,即显示的图像上有x,y坐标轴的显示,可以看到图像的像素大小。
imshow只是显示图像。
%它们都可以用subplot来定位图像显示的位置,用colormap来定义图像显示用的颜色查找表,比如用colormap(pink),%可以把黑白图像显示成带粉红色的图像,很有趣的。
在这里最值得注意的是要显示的图像像素矩阵的数据类型。
%COLORMAP(MAP) 用MAP矩阵映射当前图形的色图。
COLORMAP('default') 默认的设置是JET.MAP = COLORMAP 获得当前色图矩阵.COLORMAP(AX,...) 应用色图到AX坐标对应的图形,而非当前图形。
2:分支结构例1:建立分段函数(根据需要的条件数目规定来执行语句内容)x=input('请输入x的值,x=')if x>=0y=x^2elsey=-x^2例3:速率分布曲线(根据判断表达式的值不同来执行不同的语句)clear alldisp('此程序计算室温下Maxwell分布律')y=input('输入一种分子名称:N,O','s')switch ycase ('N')mu=28e-3;case ('O')mu=32e-3;otherwisewarning('只能输入大写N,O')endT=300;v=0:1500;k=1.381e-23;NA=6.022e23;m=mu/NA;f=4*pi*(m/(2*pi*k*T))^(3/2)*exp(-m*v.^2./(2*k*T)).*v.^2;plot(v,f)四、了解一些其他的指令,见书五、数据输入与输出a = magic(4);b = ones(2, 4) * -5.7;c = [8 6 4 2];save -ascii mydata.dat a b cclear a b cload mydata.dat16.0 3.0 2.0 13.05.0 10.0 11.0 8.09.0 6.0 7.0 12.0存盘save F:\mag.dat导出load F:\mag.datxlsreadRead Microsoft Excel spreadsheet file例1:绘制正弦曲线x=0:pi/100:2*pi;plot(x,y)例2:绘制正弦和余弦曲线x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)例3:用不同颜色和线型来绘制正弦和余弦曲线x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-.')例4:设定坐标轴来绘制正弦和余弦曲线x=linspace(0,2*pi,60);y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-.')axis ([0 2*pi -2 2]);例5:图形标识x=linspace(0,2*pi,60);y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-.')axis ([0 2*pi -2 2]);title('图形标题');text(3,1,'正弦和余弦曲线');legend('sin(x)','cos(x)');例6:在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps); %eps为系统内部常数ct=cos(x)./(sin(x)+eps);%如改成tan或cot则会出错Warning: Divide by zero. subplot(2,2,1); %分成2×2区域且指定1号为活动区plot(x,y);title('sin(x)');axis ([0 2*pi -1 1]);subplot(2,2,2);plot(x,z);title('cos(x)');axis ([0 2*pi -1 1]);subplot(2,2,3);plot(x,t);title('tangent(x)');axis ([0 2*pi -40 40]);subplot(2,2,4);plot(x,ct);title('cotangent(x)');axis ([0 2*pi -40 40]);例6:在不同图形窗口中绘制正弦、余弦、正切、余切曲线x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);H1=figure; %创建新窗口并返回句柄到变量H1plot(x,y); %绘制图形并设置有关属性title('sin(x)');axis ([0 2*pi -1 1]);H2=figure; %创建第二个窗口并返回句柄到变量H2plot(x,z); %绘制图形并设置有关属性title('cos(x)');axis ([0 2*pi -1 1]);H3=figure; %同上plot(x,t);title('tangent(x)');axis ([0 2*pi -40 40]);H4=figure; %同上plot(x,ct);title('cotangent(x)');axis ([0 2*pi -40 40]);例7:保持在同一图中继续画图holdx=linspace(0,2*pi,60);y=sin(x);z=cos(x);plot(x,y,'b'); %绘制正弦曲线hold on; %设置图形保持状态plot(x,z,'g'); %保持正弦曲线同时绘制余弦曲线axis ([0 2*pi -1 1]);legend('cos','sin');hold off %关闭图形保持例8:用fplot函数同时绘制正弦、余弦曲线fplot('sin(x)',[0 2*pi],'-+')fplot('[sin(x),cos(x)]',[0 2*pi],1e-3,'.')还可建立函数文件function y=fct(x)y=cos(tan(pi*x));在用fplot调用fplot('fct',[0 1],1e-4)例9:绘制双对数坐标图形x=[0:0.1:2*pi];y=abs(1000*sin(4*x))+1;loglog(x,y);例10:绘制单对数x坐标图形x=[0:0.1:2*pi];y=abs(1000*sin(4*x))+1;semilogx(x,y);例11:绘制单对数y坐标图形x=[0:0.1:2*pi];y=abs(1000*sin(4*x))+1;semilogy(x,y);例12:绘制极坐标图theta=[0:0.01:2*pi];rho=sin(2*theta).*cos(2*theta);polar(theta,rho); %绘制极坐标图命令title('polar plot');例13:阶梯图形x=[-2.5:0.25:2.5];y=exp(-x.*x);stairs(x,y); %绘制阶梯图形命令title('stairs plot');例14:条形图形x=[-2.5:0.25:2.5];y=exp(-x.*x);bar(x,y); %绘制条形图命令例15:填充图形x=[0 1 1 0 0]; %正方形顶点坐标向量y=[0 0 1 1 0];fill(x,y,'y');%绘制并以黄色填充正方形图再如x=[0:0.025:2*pi];y=sin(3*x);fill(x,y,[0.5 0.3 0.4]); %颜色向量%最好放在函数文件中运行,以免关闭程序。