Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-03-30, 17:02   #1
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 25
dnping 是一个将要出名的人
默认

首先:
HELP function的时候不能用大写,matlab对变量和函数区分大小写的;
对于你的function问题,请楼主先编好整个函数之后再回车,仅仅写了代码function [y,n]=jacobi(A,b,x0,eps)根本就不能运行得到结果,肯定会出错,其非C,可以进行随时的调试,matlab只能等你编好了整个函数程序之后才能输入变量进行运算。

建议楼主先找本最基础的书察看……
dnping 当前离线   回复时引用此帖
旧 2008-03-30, 19:47   #2
xiaotie
初级会员
 
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18
xiaotie 正向着好的方向发展
默认

引用:
作者: dnping 查看帖子
首先:
HELP function的时候不能用大写,matlab对变量和函数区分大小写的;
对于你的function问题,请楼主先编好整个函数之后再回车,仅仅写了代码function [y,n]=jacobi(A,b,x0,eps)根本就不能运行得到结果,肯定会出错,其非C,可以进行随时的调试,...
我是将整个命令复制了下来,粘到MATLAB上去的,我拿上来求帮助时,栽了,你能不能给我编一个,没有错误的方程组,用function编一个4组方程组,让我学习下好不好,谢了,我刚学,而且我那里很少用MATLAB,书店也买不到,只能上网,谢了,随便编个:ft:
xiaotie 当前离线   回复时引用此帖
旧 2008-03-31, 09:31   #3
xiaotie
初级会员
 
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18
xiaotie 正向着好的方向发展
默认

以下是我的另一个命令,你看看
xiaotie 当前离线   回复时引用此帖
旧 2008-03-31, 10:43   #4
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 25
dnping 是一个将要出名的人
默认

我不知道你的所说的四组方程组是什么意思,你要我解决一个什么问题?你想要做什么东西?
楼上的好像什么都没有哈……
dnping 当前离线   回复时引用此帖
旧 2008-03-31, 10:44   #5
xiaotie
初级会员
 
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18
xiaotie 正向着好的方向发展
默认

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'.

>>
xiaotie 当前离线   回复时引用此帖
旧 2008-03-31, 10:46   #6
xiaotie
初级会员
 
注册日期: 2008-03-28
年龄: 47
帖子: 19
声望力: 18
xiaotie 正向着好的方向发展
默认

四组如:
X+Y+Z+C=1
X+Y+Z-C=2
X+Y^Z+C=3
X^Y+Z+C=4
xiaotie 当前离线   回复时引用此帖
旧 2008-03-31, 11:24   #7
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 25
dnping 是一个将要出名的人
默认

对于你的问题,上面那个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,可以下下来仔细看看。
dnping 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
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


所有时间均为北京时间。现在的时间是 01:44


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.