matlab怎么重新打开新的代码,方程求解程序代码求助-程序代码修改或新的代码...

很简单的方程求解程序,调用mulDNewton函数求解,之前在Matlab 2011b版本上运行成功,现在在Matlab 2018a版本上总是出错,程序代码和出错的提示如下,mulDNewton函数代码也如下。

请教大神该程序应该如何修改,请给出正确的代码,必有重谢!@所有人

mulDNewton迭代函数代码如下:

function [r,m]=mulDNewton(F,x0,eps)

%非线性方程组:F

%初始解:x0

%解的精度:eps

%求得的一组解:r

%迭代步数:m

if nargin==2

eps=1.0e-4;

end

x0 = transpose(x0);

dF = jacobian(F);

m=1;

tol=1;

while tol>eps

tol=1;

w=1;

Fx = subs(F,findsym(F),x0);

dFx = subs(dF,findsym(dF),x0);

F1=norm(Fx);

while tol>=0                               %下面的循环是选取下山因子w的过程

r=x0-w*inv(dFx)*Fx;                         %核心的迭代公式

Fr = subs(F,findsym(F),r);

tol=norm(Fr)-F1;

w=w/2;

end

tol=norm(r-x0);

m=m+1;

x0=r;

if(m>10000)                                 %迭代步数控制

disp('迭代步数太多,可能不收敛!');

return;

end

end

方程程序代码如下:

clc

clear

syms x y z

f1=x^2+y+z^2-12

f2=x^3+y^2+z-8

f3=x+y+z-6

x0=[1 1 1]% 初值

f=[f1;f2;f3]%方程组

[r,b]=mulDNewton(f,x0,1.0e-6)%调用迭代函数

%求解方程,并将结果赋予N01,N02,N03

N01=r(1);

N02=r(2);

N03=r(3);

% 求解的正确结果应该是X=1,y=2, z=3

错误提示代码如下:

警告: FINDSYM will be removed in a future release. Use SYMVAR instead.

> In sym/findsym (line 32)

In mulDNewton (line 19)

In equation (line 11)

错误使用 sym>convertChar (line 1448)

Character vectors and strings in the first argument can only specify a variable or number. To evaluate character vectors and strings representing symbolic

expressions, use 'str2sym'.

出错 sym>tomupad (line 1214)

S = convertChar(x);

出错 sym (line 211)

S.s = tomupad(x);

出错 sym/subs>normalize (line 168)

X = {sym(X)};

出错 sym/subs>mupadsubs (line 157)

[X2,Y2,symX,symY] = normalize(X,Y); %#ok

出错 sym/subs (line 145)

G = mupadsubs(F,X,Y);

出错 mulDNewton (line 19)

Fx = subs(F,findsym(F),x0);

出错 equation (line 11)

[r,b]=mulDNewton(f,x0,1.0e-6)%调用迭代函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计.doc

实验四:函数编写与程序设计一、实验目的1 . 掌握M文件的创建。2.掌握函数的编写规则。3.掌握函数的调用。4 . 掌握基本的输入输出函数以及显示函数的用法。5.会用Matlab程序设计实现一些工程算法问题。二、实验内容1 . 设计程序&a…

php静态数组变量初始化,为什么数组初始化时,赋值不能是常量?

刚刚发现的一个很奇怪的现象下面这个数组我设置为类的属性,其中SYSTEM_LIB为我定义的常量final class Application { public static $_libarray( route > SYSTEM_LIB./lib_route.php, mysql > SYSTEM_LIB./lib_mysql.php, );}但最终运行时报错为Parse error: …

php比例算法,图片比例转换算法

项目要求将图片上传的任意图片按固定比例进行转换,没办法自己就写了一个,代码如下:public function cropImage($imagePath, $savePath, $scale){$imgHandler $this->model(Picture_Model_Image);$imgHandler->setSrcImg($imagePath);$…

oracle安装过程掉电,Oracle数据库掉电后ORA-01172磁盘坏块解决方法

由于服务器突然掉电,重启机器后发现数据库无法启动。数据库版本 Oracle10201,OS REDHAT 5.4数据库无归档,无备份 [oraclehuna由于服务器突然掉电,重启机器后发现数据库无法启动。数据库版本 Oracle10201,,O…

php sqlite id自增,Android sqlite设置主键自增长的方法教程

今天在APP中增加一个添加项目的功能,项目的主键为整数,要让它自增长。既然要自增长,那么在代码里面就不用给id字段赋值。但是调试的时候发现不行,提示主键重复,观察了输出,不赋值的话,id默认为0…

oracle flashback 深入研究,oracle 之flashback 深入研究。

oracle 之flashback 深入研究。今天是2013-08-24,开始进行oracle flashback 内部原理研究,记录一下笔记。SQL> startupORACLE instance started.Total System Global Area 405020672 bytesFixed Size 2213816 bytesVariable Size …

linux删除了mount目录,Linux记录-分区(df/fdisk/mount/umount/fuser)

1.查看磁盘挂载(df -TH)2.卸载umount /dev/vdb13.查杀用户进程(fuser -m -v -i -k /dev/vdb1)4.再次卸载umount /dev/vdb1,并查看挂载信息df -TH5.删除分区(fdisk /dev/vdb m d 1 d w)6.查看分区(fdisk -l,没有Start-End磁盘分区表示可用)7.添加分区(fdi…

linux中pak命令,如何在Linux系统中安装Flatpak

选择你的Linux发行版快速安装Flatpak及使用Flatpak。支持Ubuntu、Fedora、Red Hat Enterprise Linux、Deepin、Endless OS、Linux Mint、openSUSE、Arch、Debian、CentOS、Gentoo、Solus、Alpine、Mageia、Pop!_OS、elementary OS、Raspbian。以下为你逐一介绍如何在这些Linux版…

linux服务器组件有哪些,推荐几个linux服务器面板

天兴工作室自zblog从asp换到了php就一直在玩php的程序,php的程序肯定是搭配linux系统更方便一些。现在的云服务器也都不贵几百块钱一年,就算是个人也玩得起。当然linux服务器和windows服务器的用法完全是两样:windows系统就跟本地电脑一样操作…

ubuntu 改linux密码忘了怎么办,Ubuntu 14.04忘记root密码的解决方法

电脑20多天没用,忘记Ubuntu 14.04 root密码了,下面是在网上找到的一个解决办法,其它的和这个也大概相同。因为其中有些缺漏,没能给我解决问题。通过分析最终问题还是解决了,现解决方案的关键点记录一下。希望能方便到其…

drcom linux怎么运行,Drcom_linux

64位ubuntu设置32位环境sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0//目前自己用到sudo apt-get install libsm6:i386sudo apt-get install libxi6:i386sudo apt-get install libxrender1:i386sudo apt-get install libxrandr2:i386sudo apt-get install libxcur…

linux设置历史命令保留数目限制,linux下修改history命令保存条数

在linux系统下、history命令会保存多少条命令呢?曾在一本书上说,如果注销系统,那么会将所有的历史命令都定入到~/.bash_history,但只保留1000条命令(这个是由默认的shell变量所设置了的)但是为什么我们执行history命令后会出现大于1000条的历…

虚拟机linux如何扩大内存吗,如何扩大Vmware虚拟机中Ubuntu系统磁盘空间的方法

在虚拟机里安装系统,有时即会遇到初始分配的磁盘空间不够用的情况。如果是windows系统,则直接在虚拟机选项里扩容即可,但linux系统则没有这么简单。下面是整理的vmware下ubuntu系统磁盘扩容的方法与步骤,仅供参考。提示&#xff1…

linux lvm lv扩充--虚拟机,虚拟机新增磁盘后lvm下的lv扩容

系统环境:CentOS 6.5_X64一、识别新增磁盘:ls /sys/class/fc_host (会看到host1,host2...hostN,对每个host进行如下操作)echo "- - -" > /sys/class/scsi_host/host1/scan (中间是有空格的)!!echo "- - -" > /sys/class/scsi_…

linux7yum安装mysql,CentOS7 使用yum安装mysql

1、安装libaio,yum install libaio2、卸载mariadbyum remove mariadb-libs-5.5.41-2.el7_0.x86_643、下载mysql yumrepositorywget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm4、添加Mysql yumrepository到系统列表的中,执行…

linux读整个文件内容,Linux查看整个文件

Linux查看整个文件使用cat命令显示文本文件的内容使用cat命令可以显示文本文件的内容。cat后面可以不加任何选项,直接跟文件名功能说明:查看某个文件的内容###cat命令语法cat [参数] [文件]选项与参数:-A:显示所有的内容&#xff…

linux终端怎么设置monaco,Monaco Editor 使用指南

为什么要写这篇文章?最近开发了一个简单的在线代码编辑器,基于 Monaco Editor 实现,没有了解过 Monaco 的人可能不知道,我们常用的 VS Code 也是基于它实现的~回到正题,Monaco Editor 有一份完整的官方文档&#xff0c…

linux c实现线程超时退出,c – 如何在另一个线程的超时内唤醒select()

根据“男人选择”信息:"On success, select() and pselect() return the number of file descrip‐tors contained in the three returned descriptor sets which may be zeroif the timeout expires before anything interesting happens. On error,-1 is ret…

linux中var的作用,linux中var是什么意思

在搭建Kubernetes集群过程中,安装了kube-dns插件后,运行一个ubuntu容器,发现容器内无法解析集群外域名,一开始可以解析集群内域名,一段时间后也无法解析集群内域名。$ nslookup kubernetes.default Server: 10.99.0.2 …

linux redis 主从配置,redis集群(主从配置)

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操 作,而且这些操作都是…