Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 25 ![]() |
![]()
首先:
HELP function的时候不能用大写,matlab对变量和函数区分大小写的; 对于你的function问题,请楼主先编好整个函数之后再回车,仅仅写了代码function [y,n]=jacobi(A,b,x0,eps)根本就不能运行得到结果,肯定会出错,其非C,可以进行随时的调试,matlab只能等你编好了整个函数程序之后才能输入变量进行运算。 建议楼主先找本最基础的书察看…… |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18 ![]() |
![]() |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18 ![]() |
![]()
以下是我的另一个命令,你看看
|
![]() |
![]() |
![]() |
#4 |
高级会员
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 25 ![]() |
![]()
我不知道你的所说的四组方程组是什么意思,你要我解决一个什么问题?你想要做什么东西?
楼上的好像什么都没有哈…… |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18 ![]() |
![]()
Warning: MATLAB Toolbox Path Cache is out of date and is not being used.
Type 'help toolbox_path_cache' for more info. To get started, select MATLAB Help or Demos from the Help menu. >> function [y,n]=jacobi(A,b,x0,eps) if nargin==3 eps=1.0e-6; elseif nargin<3 error return end D=diag(diag(A)); %求A的对角矩阵 L=-tril(A,-1); %求A的下三角阵 U=-triu(A,1); %求A的上三角阵 B=D\(L+U); f=D\b; y=B*x0+f; n=1; %迭代次数 while norm(y-x0)>=eps x0=y; y=B*x0+f; n=n+1; end ??? function [y,n]=jacobi(A,b,x0,eps) | Error: Function definitions are not permitted at the prompt or in scripts. >> A=[10,-1,0;-1,10,-2;0,-2,10] A = 10 -1 0 -1 10 -2 0 -2 10 >> b=[9,7,6]' b = 9 7 6 >> [x,n]=jacobi(A,b,[0,0,0]',1.0e-6) ??? Undefined command/function 'jacobi'. >> A=[10,-1,0;-1,10,-2;0,-2,10]; b=[9,7,6]'; [x,n]=jacobi(A,b,[0,0,0]',1.0e-6) ??? Undefined command/function 'jacobi'. >> |
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18 ![]() |
![]()
四组如:
X+Y+Z+C=1 X+Y+Z-C=2 X+Y^Z+C=3 X^Y+Z+C=4 |
![]() |
![]() |
![]() |
#7 |
高级会员
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 25 ![]() |
![]()
对于你的问题,上面那个undefinded function出错是因为你的那个函数不在matlab的当前目录下,你需要将其置于你的matlab的当前目录下方可运行。
你的函数本身没有错误,是因为上面的原因所以才会运行不了。 第二个出错是由于你将函数在命令窗口编辑运行了,这个是不允许的,除非你有确切的数值供计算方可,可以自己写一个.m文件:就是打开一个空白的.m编辑器,在里面将你的代码拷贝进去之后保存到当前目录下,在命令窗口运行: >>[x,n]=jacobi(A,b,[0,0,0]',1.0e-6) x = 0.9958 0.9579 0.7916 n = 11 其实程序没有问题,就是编写程序和运行程序的时候一些规范没有遵守。 建议楼主下一些基本的资料看一下,我们论坛中就有很多基本的资料,我在上面也发布了两个资料:精通matlab6.5 以及精通matlab7,可以下下来仔细看看。 |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
matlab 中反函数运算。 | zhanggongrui | MATLAB论坛 | 0 | 2008-04-29 00:03 |
[求助] INTEL行 AMD为什么不行! | isomia | MATLAB论坛 | 5 | 2008-04-23 12:23 |
【求助】BP预测程序出错 | robberzhou | MATLAB论坛 | 0 | 2007-06-08 12:44 |
求救-----基于小波域的数字水印 | tcgqb111 | MATLAB论坛 | 0 | 2007-05-24 07:27 |