文档详情

MATLAB科学计算8讲解.ppt

发布:2017-04-16约3.31千字共111页下载文档
文本预览下载声明
MATLAB 科学计算;;函数文件(Seidel迭代);clear all%写在主程序(脚本文件)最开始 lamdmax=max(abs(eig(M)))%先分析收敛性 X0=…; X=M*X0+F; while norm(X-X0,inf)=1.0e-6% ?= X0=X; %? X=X0 X=M*X0+F;% ?X=M*X+F end ;p;For i=1:1000%可能未达精度,但因超过计算次数致使程序终止 x=M*x0+F; … end ;;第7章 解线性和非线性方程组;;6、vpasolve;;解方程组;syms x a b c… eq1=f1 (…) ; eq2=f2 (…); … S=vpasolve(eq1,eq2,..., var1, var2, …,x0 );x0—初值 ;;;;;小结;fzero 求单变量非线性方程的实根,一次求一个根。必须给初值。 fsolve 求非线性方程(组)的实数或复数解,一次返回一个解。必须给初值。 vpasolve 对多项式方程,可求得所有解包括复根。对非多项式方程(组)给出一个解。可不给初值。;MuPAD Notebook;;7.3.2非线性方程(组)求解的MATLAB实现 ;MATLAB程序;例 Newton基本格式求解;(1)Newton迭代法基本???式,命名为new_ton.m function [x,n,data]=new_ton(x0,tol) if nargin==1%如果用户只给了x0,没有指定tol,程序使用缺省值 tol=1e-10;%误差限 end Nmax=1000;%设置最大迭代次数 n=1;%n为计算次数 x1=x0-inv(df1(x0))*f1(x0);%x0是用户输入的迭代初值 while (norm(x1-x0)tol)(nNmax) x0=x1; x1=x0-inv(df1(x0))*f1(x0); n=n+1; data(:,n)=x1; %存储每次迭代计算结果 end x=x1;;(2)定义待解非线性方程组 function y=f1(x) y(1)=x(1)*x(1)-2*x(1)-x(2)+0.5; y(2)=x(1)^2+4*x(2)*x(2)-4; y=[y(1);y(2)]; 命名为f1.m ;(3)定义非线性方程组的Jacobi矩阵 function y=df1(x) y(1,1)=2*x(1)-2; y(1,2)=-1; y(2,1)=2*x(1); y(2,2)=8*x(2); y=[y(1,1) y(1,2);y(2,1) y(2,2)]; 命名为df1.m ;(4)编写脚本文件,解方程组 clear all clc x0=[1;1]; [x,n,data]=new_ton(x0); x n 命名为newton_main.m ;迭代计算编程注意;第8章 数据的可视化;绘 图;例 某化学反应实验所得生成物的浓度随时间的变化数据,选择合适的数学模型;例 某化学反应实验所得生成物的浓度随时间的变化数据,选择合适的数学模型;;8.1 平面图;8.1 平面图;向量y相对于向量x的线型图 s:字符串,如 linestyle (线型) color (颜色) labelstyle (标记点形式);Linestyle ;color ;labelstyle ; x=0:pi/16:4*pi; y=cos(x); plot(x, y, -ro) ;2、PLOTS工具箱 ;;;默认:单元格序号是自变量 y是因变量;;;;;;二、图形的编辑;1、figure窗口;1、figure窗口;Plot type(各种类型图, bar柱状图、area饼状图, stairs阶梯图,stem茎干图) Data (数据源); Line(线型、粗细、颜色); Marker(数据点标志、大小、背景颜色和边框颜色) Display name(曲线命名,图例中的名称);图例位置、边框颜色、底色、字号和字体 多个图例的摆放方式,垂直或水平。;定义m为上标:^m 定义m为下标:_m;figure name(图形窗口名称,将显示在图形窗口) figure color(图形窗口底色);2、功能函数;plot(x,y,linestyle and color and labelstyle,‘linewidth’,value, ’markeredgecolor’,’value’, ’markerfacecolor’,’value’, ‘mark
显示全部
相似文档