声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1347|回复: 8

[编程技巧] 求助:关于函数的问题,恳请高手指点

[复制链接]
发表于 2007-4-3 23:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function [x,k]=Gaussmethord(A,b,x0,N,emg)
n=length(A);
我只截取了这两行,第二行就有错误,错误是Input argument "A" is undefined.
请问:应该怎么改,多谢了
回复
分享到:

使用道具 举报

发表于 2007-4-3 23:32 | 显示全部楼层
原帖由 tuoyuan 于 2007-4-3 23:13 发表
function =Gaussmethord(A,b,x0,N,emg)
n=length(A);
我只截取了这两行,第二行就有错误,错误是Input argument "A" is undefined.
请问:应该怎么改,多谢了



请阅读最基础的matlab语法书

事实上,无论哪种语言,函数定义中的参数列表都是形式参数,需要在调用时传递实际的值。以C语言为例,楼主认为不写main函数可以运行你编写好的某个函数吗?
发表于 2007-4-4 09:28 | 显示全部楼层
如还有问题,请讲代码及调用时的出错提示给出.
 楼主| 发表于 2007-4-4 11:50 | 显示全部楼层

回复 #3 xjzuo 的帖子

这个程序是书上给的,我还是弄不明白哪里有错误,原代码是:
function [x,k]=Gaussmethord(A,b,x0,N,emg)
n=length(A);
x1=zeros(n,1);
x2=zeros(n,1);
x1=x0;
r=max(abs(b-A*x1));
k=0;
while r>emg
    for i=1:n
        sum=0;
        for j=1;n
            if j>i
                sum=sum+A(i,j)*x1(j);
            elseif j<i
                sum=sum+A(i,j)*x2(j);
            end
        end
        x2(i)=(b(i)-sum)/A(i,i);
    end
    r=max(abs(x2-x1));
    x1=x2;
    k=k+1;
    if k>N
        disp('shi bai');
        return;
    end
end
x=x1;
是一个迭代程序,还是恳请指点,多谢
发表于 2007-4-4 11:59 | 显示全部楼层
原帖由 tuoyuan 于 2007-4-4 11:50 发表
这个程序是书上给的,我还是弄不明白哪里有错误,原代码是:
function =Gaussmethord(A,b,x0,N,emg)
n=length(A);
x1=zeros(n,1);
x2=zeros(n,1);
x1=x0;
r=max(abs(b-A*x1));
k=0;
while r>emg
   ...



你如何运行程序的?不是通过在编辑框口中点击run,而是要在命令窗口中用命令行的方式给出实际参数
 楼主| 发表于 2007-4-4 23:16 | 显示全部楼层

回复 #5 eight 的帖子

我不运行run,点save as 保存,然后输入数据,可就是迭代不了,求你指点,这是书中的原程序代码,每行的意思我都懂,也觉得没错,可运行后结果不对。多谢指点了!
 楼主| 发表于 2007-4-4 23:21 | 显示全部楼层

回复 #5 eight 的帖子

% A是线性方程组的左端矩阵,b是右端向量,N表示迭代次数上限,若迭代次数大于N,则迭代失败
%emg表示控制精度
%用Gauss-sedidel迭代法求线性方程组A*x=b的解
%k表示迭代次数
%x表示用迭代法求得的线性方程组的近似解
这是注解
发表于 2007-4-5 10:20 | 显示全部楼层
请把你的调用代码及出错信息给出.
发表于 2007-4-5 10:31 | 显示全部楼层
原帖由 xjzuo 于 2007-4-5 10:20 发表
请把你的调用代码及出错信息给出.



同意,代码、调用方式、出错信息请一并给出

[ 本帖最后由 eight 于 2007-4-5 10:33 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-30 10:42 , Processed in 0.064156 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表