MATLAB科学计算8讲解.ppt
文本预览下载声明
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 andlabelstyle,‘linewidth’,value,’markeredgecolor’,’value’,’markerfacecolor’,’value’, ‘mark
显示全部