Matlab什么是不动点迭代法法发求非线性方程的根 报错:索引超出矩阵维度。

403 - 禁止访问: 访问被拒绝。
403 - 禁止访问: 访问被拒绝。
您无权使用所提供的凭据查看此目录或页面。程序用matlab运行显示索引超出矩阵维度,请问怎么改?_百度知道
程序用matlab运行显示索引超出矩阵维度,请问怎么改?
我有更好的答案
用size函数可以求矩阵维数,用reshape可以改变数据维数。 如: && a=[1 2 3;4 5 6;7 8 9]; && size(a) ans = 3 3 说明矩阵a是3行3列的。 && reshape(a,1,9) ans = 1 4 7 2 5 8 3 6 9 可以讲数组a变成1行9列的。MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
&& a=[1 2 3;4 5 6;7 8 9]用size函数可以求矩阵维数。 && reshape(a,1,用reshape可以改变数据维数。 如; && size(a) ans = 3 3 说明矩阵a是3行3列的
本回答被网友采纳
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。不动点迭代法非线性方程求解doc下载_爱问共享资料
不动点迭代法非线性方程求解.doc
不动点迭代法非线性方程求解.doc
不动点迭代法非线性方程求解.doc
简介:本文档为《不动点迭代法非线性方程求解doc》,可适用于高等教育领域,主题内容包含不动点迭代法非线性方程求解《MATLAB程序设计实践》课程考核、编程实现以下科学计算算法并举一例应用之。(参考书籍《精通MATLAB科学计算》王正林符等。
侵权或盗版
*若权利人发现爱问平台上用户上传内容侵犯了其作品的信息网络传播权等合法权益时,请按照平台要求书面通知爱问!
赌博犯罪类
在此可输入您对该资料的评论~
添加成功至
资料评价:您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
非线性方程的分法迭代法(内含matlab程序代码).doc 10页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
非线性方程的分法迭代法(内含matlab程序代码)
你可能关注的文档:
··········
··········
课程名称 数学软件实验 班级 数0901
姓名 李亚强
实验课题 非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法
实验目的 熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法
实验要求 运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成
实验内容 非线性方程的二分法
非线性方程的迭代法
非线性方程的松弛迭代法
非线性方程的Aitken迭代法
非线性方程的Steffensen迭代法
实验名称:非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法。
实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法,提高matlab编程能力。
实验要求:非线性方程,应用二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法编程求解非线性方程的数值解。
实验原理:
设函数在区间上连续,而且,则在区间上至少有一个根。
首先确定有限区间:依据零点定理。设 ,且,则方程 在区间上至少有一个根。如果在上恒正或恒负,则此根唯一。
令若,则为有根区间,否则为有根区间。记新的有根区间为,
则且;对重复上述做法得:且
设所求的根为,则,即,由得
取为的近似解。
不动点迭代法
对于非线性方程:常常可以化成等价的方程可以选取一个初始近似值,构造迭代序列
如此产生序列。这种迭代方法称为不动点迭代,或Picard 迭代。这个原理看似很容易直观理解,但是却有相当深刻的数学内涵,数学系的学生在泛函分析与微分方程理论等多门专业课程里都会遇到。如果连续,而且,则是的一个不动点。因此为方程的一个根。
Steffensen迭代法
该迭代法解方程可以看成是另一种不动点迭代:其中迭代函数为得到迭代公式为:
Aitken加速迭代
由初值出发,计算出后,便可在曲线上找到两个点。将这两点所在的直线与直线的交点设为,则点满足:解得:,将视为新的初值,重复上述步骤可得,由此产生迭代公式,。
实验内容:
%二分法解非线性方程
function er_fen(f,a,b,esp);
f1=subs(f,a);
f2=subs(f,b);
if f1*f2&0
disp('该方程在【a,b】上无解!');
elseif f1==0
elseif f2==0
while abs((b0-a0)/2)&=esp
half=(a0+b0)/2;
fa=subs(f,a0);
fb=subs(f,b0);
fhalf=subs(f,half);
if fhalf==0
elseif fa*fhalf&0
A=[A,half];
root=(b0+a0)/2;
%不动点迭代(Picard迭代)
function [x,time]=Picard(f,x0,tol)
%结果给出迭代次数
%x0 为迭代初值
%tol 为误差容限
if(nargin==2)
tol=1.0e-5;
wucha=0.5; %设置误差初值
x1=x0; %x1 与x0 为前后两次计算结果
time=0; %用于记录迭代次数
while(wucha&tol)
x1=subs(f,x0)+x0;
wucha=abs(x1-x0);
x0=x1; % 更新x0的值在循环中这一句非常重要
time=time+1;
%记下迭代次数
%Aitken加速收敛方法
function [gen,time]=Aitken(func,x0,tol)
if(nargin==2)
tol=1.0e-5;
x(1:2)=[0,0];
t=0; %记录迭代次数
wucha=0.1; %设置误差初值
while(wucha&tol)
正在加载中,请稍后...扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
关于使用matlab写牛顿迭代法计算方程 f (x) = x^3 + 2x^2 +10x - 20 = 0 在区间[1,2]内的一个根的问题.使用牛顿(Newton )法计算方程 f (x) = x^3 + 2x^2 +10x - 20 = 0 在区间[1,2]内的一个根.以下是我的程序,但是迭代次数居然有31次!牛顿法平方收敛不至于要迭代这么多次.请您帮忙看看是什么地方出错了.function [ x,k ] = Newton( x0,tol,N )x0=1;tol=1.0e-5;N=500;x=x0;x=x0+2*e;k=0;while abs(x0-x)>tol&k
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
x=x0-(x0.^3+2*x0.^2+10*x0-20)/(3*x0*x0+4*x0+10);最后应该是10,不是x0
为您推荐:
其他类似问题
这是pascal吗,貌似循环不太对
扫描下载二维码

我要回帖

更多关于 不动点迭代法 优缺点 的文章

 

随机推荐