MATLAB实验七--答案

时间:2025-07-08

实验七:代数方程与微分方程的近似解实验目的:

1、掌握MATLAB多项式运算的命令和方法;

2、掌握MATLAB求解非线性方程和方程组的基本方法,并对结果作出初步的分析;

3、掌握MATLAB求解微分方程和方程组的基本方法,并对结果作出初步的分析;

实验内容

1.

2.

3.

4.多项式的建立、求根、求值以及多项式的四则运算。利用fzeros、solve命令求非线性方程的解利用fsolve、dsolve命令求解非线性(微分)方程(组)的解利用ode函数系列求解微分方程,并能进行简单应用。

实验要求

1、学生在实验操作过程中自己动手独立完成,1人为1组。

2、完成实验报告:按照试验的每个题目的具体要求完成

实验数据记录及分析(命令与结果)

1、已知一个多项式p(x) 3x 4x 5x 7x 5,计算:

(1)计算p(x) 0的全部根

p=[304-5-75];

x=roots(p)

(2)由方程p(x) 0的根构造一个多项式g(x),并与p(x)进行比较

g=poly(x)

poly2sym(g,'x')

g(x)的第一个系数为1,与p(x)的成比例532

(3)计算x 1,2.5,5,6.5时,p(x)的值

p=[304-5-75];

x=[-12.556.5];

y=polyval(p,x)

2、设有两个多项式f(x) 3x 5x 2x 3x 3x 5,g(x) 3x 5x 3

(1)求f(x) g(x),f(x) g(x)54322

河南财经政法大学数学与信息科学学院1

f=[3-52-335];

g=[00035-3];

f+g

f-g

(2)求f(x)g(x),f(x)/g(x)

f=[3-52-335];

g=[00035-3];

l=conv(f,g)

[k,r]=deconv(f,g)

3、求方程10x e 2 0的根,要求画出曲线图形,确定根所在的区间;利用fzero函数求解方程的根

ezplot('10*x+exp(x)-2')

gridon

根所在区间为[0,2];

fzero('10*x+exp(x)-2',[0,2])x

sinx y z2ex 4 0 4、求方程组 在(1,1,1)附近的解并对结果进行验证。要求编写x yz 0

xy z 0

函数m文件格式,利用fsolve求解方程组

方法一:

f='[sin(x(1))+x(2)+x(3)^2*exp(x(1))-4,x(1)+x(2)*x(3),x(1)*x(2)-x(3)];

[xy,f,exit]=fsolve(f,[1,1,1]',optimset('Display','off'))

方法二:

functionf=myfun(x)

f=[sin(x(1))+x(2)+x(3)^2*exp(x(1))-4,x(1)+x(2)*x(3),x(1)*x(2)-x(3)];

[xy,f,exit]=fsolve(@myfun,[1,1,1],optimset('Display','off'))

5、求平面3x 5y 6z 0与平面x 3y 6z 1 0的交线与球面x y z 9 0的交点。222

[x,y,z]=solve('3*x+5*y+6*z','x-3*y-6*z-1','x^2+y^2+z^2-9','x','y','z')

河南财经政法大学数学与信息科学学院2

%Myfun.m文件:

functionf=myfun(x)

f=[3*x(1)+5*x(2)+6*x(3),

x(1)-3*x(2)-6*x(3)-1,

x(1)^2+x(2)^2+x(3)^2-9]

%在给定初值(1,-2,1)下调用fsolve函数求解

clc

clear

xyz=fsolve(@myfun,[1,-2,1]',optimset('Display','off'))

6、求微分方程dy ytanx cos2x的解析解,并加以验证(代入原方程)dx

y=dsolve('Dy+y*tan(x)=cos(x)^2','x')

symsx;

simplify(diff(y)+y*tan(x)-cos(x)^2)

7、求微分方程y sin2x y在初始条件y(0) 0,y (0) 1下的特解,并画出解函数的图形。

y=dsolve('D2y=sin(2*x)-y','y(0)=0','Dy(0)=1','x')

ezplot(y);

gridon

特解:y=5/3*sin(x)-1/3*sin(2*x)

dx dt x y 0

8、求微分方程组 在初始条件x(0) 1,y(0) 0下特解,并画出解函数图形dy x y 0 dt

[x,y]=dsolve('Dx+x+y=0','Dy-x+y=0','x(0)=1','y(0)=0''t')

ezplot(x,y,[0,1]);

gridon

特解:x=exp(-t)*cos(t)

y=exp(-t)*sin(t)

河南财经政法大学数学与信息科学学院3

dy x 2y9、求微分方程 dx的数值解,求解范围为区间[0,1]

y(0) 1

fun=inline('x+2*y','x','y');

[x,y]=ode23(fun,[0,1],1)

dy3y3x x(e cosx) 2x dxx10、求微分方程 的数值解,求解范围为区间[ ,2 ],并画出2 y( ) (e 1) 3

数值解和解析解的图形

数值解:

fun=inline('((3*y)/x+x^3*(exp(x)+cos(x))-2*x)','x','y');

[x,y]=ode23(fun,[pi,2*pi],(exp(pi)+2/pi+1)*pi^3)

plot(x,y,'r*')

解析解:

y=dsolve('Dy=(3*y)/x+x^3*(exp(x)+cos(x))-2*x','y(pi)=(exp(pi)+2/pi)*pi^3','x')

ezplot(y,[pi,2*pi])

或者

x=[pi:0.1:2*pi];

y=x.^3.*(exp(x)+sin(x)+2./x);

plot(x,y);

holdon;

fun=inline('3*y/x+x^3*(exp(x)+cos(x))-2*x','x','y');

[x,y]=ode23(fun,[pi,2*pi],(exp(pi)+2/pi+1)*(pi)^3);

plot(x,y,'r');

xlabel('x');

ylabel('y');

d2ydy11、求解初值问题 2 y cos(x),y(0) 0,y (0) 1.5的数值解和通解,并画2dxdx

出数值解和特解图形(用ode23或ode45)

一、

首先令:y1=y,y2=dy/dx则原方程可化为:dy2/dx=cos(x)-y1-2*y2,y1(0)=0,y2(0)=1.5functionyprime=verderpol(x,y)

yprime=[y(2);cos(x)-y(1)-2*y(2)];

clear;

y0=[0;1.5];

subplot(2,1,1)

[x,y]=ode23('verderpol',[0,40],y0)

plot(x,y(:,1),'rd')

河南财经政法大学数学与信息科学学院4

或:(subplot(2,1,1)

[x1,y1]=ode45('verderpol',[0,40],y0)

plot(x1,y1(:,1),'bo'))

y=dsolve('D2y+2*Dy+y=cos(x)','y(0)=0','Dy(0)=1.5','x')

subplot(2,1,2)

ezplot(y)

特解:y=exp(-x)*x+1/2*sin(x)

d3ydy12、求解 2 y 6,y(0) 3y (0) 0,y (0) 1的数值解和特解,3dxdx

并画出数值解和特解图形

一、

首先令:y1=y,y2=dy1/dx,y3=dy2/dx,y4=dy3/dx,y1(0)=3,y2(0)=0,y3(0)=1

functionyprime=verderpol(x,y)

yprime=[y(2);y(3);-2*y(2)-y(1)+6];

clear;

y0=[3;0;1];

subplot(2,1,1)

[x,y]=ode45('verderpol',[0,40],y0)

plot(x,y(:,1),'rd')

y=y=vpa(dsolve('D3y+2*Dy+y=6','y(0)=3','Dy(0)=0','D2y(0)=1','x'),4)

subplot(2,1,2)

ezplot(y)

二、functiondy=verderpol22(t,y)

dy=zeros(3,1);

dy(1)=y(2);

dy(2)=y(3);

dy(3)=-2*y(2)-y(1) …… 此处隐藏:2213字,全部文档内容请下载后查看。喜欢就下载吧 ……

MATLAB实验七--答案.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219